home *** CD-ROM | disk | FTP | other *** search
/ Business Shareware / Business Shareware.iso / start / sprdsht / insta40 / insta / insta.doc < prev    next >
Text File  |  1993-05-28  |  286KB  |  6,313 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                                     InstaCalc (tm)
  16.                             Abridged Shareware User Manual
  17.                                       Version 4
  18.  
  19.  
  20.  
  21.                            (C) Copyright FormalSoft 1986-93
  22.                                  All Rights Reserved
  23.  
  24.  
  25.  
  26.                                       FormalSoft
  27.                                       PO Box 495
  28.                                Springville, Utah 84663
  29.                                      801-489-3102
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.         No part  of this documentation may  be reproduced in whole  or in part
  46.         without the prior written permission of FormalSoft.
  47.  
  48.  
  49.         Trademarks: FormalSoft and InstaCalc are trademarks of FormalSoft. All
  50.         other brand and product names are  trademarks or registered trademarks
  51.         of their respective companies.
  52.  
  53.  
  54.         WELCOME TO INSTACALC
  55.         --------------------
  56.         Thank  you for evaluating  InstaCalc, our PC  Magazine Editor's Choice
  57.         award winning spreadsheet.   Although InstaCalc is extremely powerful,
  58.         we are certain you will find it to be the easiest spreadsheet you have
  59.         ever  used.   In  addition,  its  minimal hardware  requirements  make
  60.         InstaCalc an excellent choice for use on laptop computers.
  61.  
  62.         We encourage you to pass copies of this program on to your friends and
  63.         associates, so they too can see the power and ease of InstaCalc.
  64.  
  65.  
  66.  
  67.         LICENSE AGREEMENT
  68.         -----------------
  69.         InstaCalc is distributed as Shareware.   It is not free  software, nor
  70.         is it  in the  public domain.   You  are granted  a  limited (30  day)
  71.         license  to evaluate  InstaCalc.    If  you  want  to  continue  using
  72.         InstaCalc, you can purchase a copy using the form provided on the next
  73.         page.
  74.  
  75.         A single  registered copy  of InstaCalc may  be used in  the following
  76.         situations where only one copy of InstaCalc is running at a time, such
  77.         as:
  78.  
  79.         - by a single user on one work machine and one home machine (where the
  80.         user won't be running two copies at the same time).
  81.  
  82.         - or  on a single machine used by multiple  users (where only one user
  83.         can use InstaCalc at a time).
  84.  
  85.  
  86.         If InstaCalc will be used by more than one user at a time, then a copy
  87.         must  be purchased  for  each machine.   We  offer  site licenses  and
  88.         quantity discounts.  Call us for details.
  89.  
  90.         You  are also  granted  a  limited  license  to  copy  and  distribute
  91.         InstaCalc for evaluation by others on the following conditions:
  92.  
  93.         - You  may NOT charge anything for InstaCalc itself.  You may charge a
  94.         copying fee (not to exceed $8) to cover disks and handling.  
  95.  
  96.         - You may NOT copy the printed documentation in any manner or form.  
  97.  
  98.         - You  may NOT bundle InstaCalc  with any other product  without prior
  99.         written permission from FormalSoft.
  100.  
  101.         -  You  may  NOT distribute  versions  of  InstaCalc  which have  been
  102.         modified in any way.
  103.  
  104.         -  You must  include  ALL  of the  files  which  are distributed  with
  105.         InstaCalc. These files must be ARCHIVED together if  you place them on
  106.         an electronic bulletin board.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.                                           1
  114.  
  115.  
  116.                             InstaCalc v4 Registration Form
  117.                             ------------------------------
  118.         TO ORDER:
  119.  
  120.         1. Send this form & payment to:    FormalSoft
  121.                                            InstaCalc Registration
  122.                                            P.O. Box 495
  123.                                            Springville, UT 84663
  124.  
  125.         2. Or give us a call at:           801-489-3102 (VISA/MC/AMEX)
  126.  
  127.  
  128.         I  want  to receive  the most  recent version  of InstaCalc,  the full
  129.         printed  manual,   and  to  be  eligible  for  technical  support  and
  130.         discounted upgrades.  Please send me ____ copies of InstaCalc.  I have
  131.         enclosed $49 for each copy ordered, plus $5 shipping and handling.
  132.  
  133.         * Utah residents please add 6.25% sales tax.
  134.         * Foreign orders add $10 for air mail.
  135.  
  136.         Amount enclosed:_____________
  137.  
  138.         *** WE OFFER QUANTITY DISCOUNTS AND SITE LICENSES.  CALL FOR DETAILS.
  139.  
  140.         Disk size:    [ ] 5.25"       [ ] 3.5"
  141.  
  142.         Name:________________________________________________________________ 
  143.  
  144.         Company:_____________________________________________________________
  145.                     
  146.         Address:_____________________________________________________________
  147.                     
  148.         City, State, Zip:____________________________________________________
  149.  
  150.         Country:_____________________________________________________________
  151.                     
  152.         [ ] CHECK (US $ drawn on US bank only)   [ ] VISA/MC   [ ] AMEX
  153.  
  154.         Credit card #_______________________________   Exp date_______________
  155.  
  156.         Signature_____________________________________________________________
  157.  
  158.         Where did you get your copy from?____________________________________
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.                                           2
  176.  
  177.  
  178.         INSTACALC FEATURES
  179.         ------------------
  180.         InstaCalc  is a state of  the art spreadsheet,  extremely powerful yet
  181.         easy to learn and use.
  182.  
  183.         ****************************************************************
  184.         * And InstaCalc is a PC Magazine Editor's Choice award winner! *
  185.         ****************************************************************
  186.         InstaCalc can be run either  as a standalone spreadsheet, or as  a pop
  187.         up  spreadsheet which  can cut  and paste  your spreadsheet  data with
  188.         other programs.  Below are just a few of InstaCalc's capabilities.
  189.  
  190.         Pop up option uses less than 15K RAM
  191.         Cut and paste with other programs
  192.         Direct import and export of:
  193.              1-2-3 files
  194.              dBase files
  195.              DIF files
  196.              ASCII files
  197.         Powerful macro environment
  198.              Full application language
  199.                   for/next, repeat/until
  200.                   if/else/endif
  201.                   windowing commands
  202.                   moving bar menu systems
  203.                   access to DOS/printer
  204.              Macro editor
  205.              Debugging
  206.                   single stepping
  207.                   conditional breakpoints
  208.              Macro recorder
  209.         Presentation quality graphics
  210.              Bar, stacked bar, line, X-Y, pie, hi-lo, area, ribbon, scatter
  211.              True 3 axis bar, area, and ribbon charts
  212.              Annotate your charts with freeform text and lines
  213.              Supports dot matrix, laser, and color printers *
  214.              Save charts as PCX, Postscript, WPG, CGM, and more *
  215.         Expanded memory support
  216.         File encryption
  217.         File linking
  218.         100 built-in @functions
  219.         Goal seeking
  220.         Auditing
  221.         EGA 43 line support
  222.         Search and replace
  223.         Database entry forms
  224.         Sort on up to 9 keys
  225.         Query worksheet databases
  226.         Query dBase files
  227.         Mouse support
  228.         Visual point & shoot file manager
  229.         Context sensitive help
  230.         Menu system shows all levels of the menu on screen
  231.         Set and view options from full page menus
  232.         Index to function keys across bottom of screen
  233.  
  234.         *Special drivers included with your registration
  235.  
  236.  
  237.                                           3
  238.  
  239.  
  240.         CONTENTS
  241.         --------
  242.  
  243.         GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . .    2
  244.              INSTALLING INSTACALC . . . . . . . . . . . . . . . . . . . .    2
  245.              HOW TO RUN INSTACALC . . . . . . . . . . . . . . . . . . . .    2
  246.              STARTUP OPTIONS  . . . . . . . . . . . . . . . . . . . . . .    3
  247.              CUSTOMIZING INSTACALC  . . . . . . . . . . . . . . . . . . .    3
  248.               . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  249.  
  250.         INSTACALC BASICS  . . . . . . . . . . . . . . . . . . . . . . . .    4
  251.              THE WORKSHEET  . . . . . . . . . . . . . . . . . . . . . . .    4
  252.              HOW TO GET HELP  . . . . . . . . . . . . . . . . . . . . . .    5
  253.              MOVING AROUND THE WORKSHEET  . . . . . . . . . . . . . . . .    5
  254.              ENTERING AND EDITING DATA  . . . . . . . . . . . . . . . . .    6
  255.              HOW TO ENTER AND USE FORMULAS  . . . . . . . . . . . . . . .    8
  256.              RELATIVE AND ABSOLUTE CELL REFERENCES  . . . . . . . . . . .   10
  257.              DEFINING A RANGE OF CELLS  . . . . . . . . . . . . . . . . .   11
  258.              BUILT-IN @FUNCTIONS  . . . . . . . . . . . . . . . . . . . .   12
  259.              USING THE COMMAND MENUS  . . . . . . . . . . . . . . . . . .   12
  260.              USING THE FUNCTION KEYS  . . . . . . . . . . . . . . . . . .   13
  261.              SAVING AND RETRIEVING DATA . . . . . . . . . . . . . . . . .   13
  262.              USING THE FILE MANAGER . . . . . . . . . . . . . . . . . . .   14
  263.              CHANGING YOUR SPREADSHEET'S APPEARANCE . . . . . . . . . . .   14
  264.              PRINTING YOUR DATA . . . . . . . . . . . . . . . . . . . . .   16
  265.              GRAPHING YOUR DATA . . . . . . . . . . . . . . . . . . . . .   16
  266.              RECORDING A MACRO  . . . . . . . . . . . . . . . . . . . . .   17
  267.              THE INSTACALC TEXT EDITOR  . . . . . . . . . . . . . . . . .   17
  268.              THE INSTACALC MACRO LANGUAGE . . . . . . . . . . . . . . . .   18
  269.              CUTTING DATA FROM OTHER PROGRAMS . . . . . . . . . . . . . .   18
  270.              PASTING DATA TO OTHER PROGRAMS . . . . . . . . . . . . . . .   19
  271.  
  272.         REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . .   20
  273.              THE FUNCTION KEYS  . . . . . . . . . . . . . . . . . . . . .   20
  274.              INSTACALC COMMAND MENUS  . . . . . . . . . . . . . . . . . .   23
  275.              BUILT-IN FUNCTIONS . . . . . . . . . . . . . . . . . . . . .   49
  276.  
  277.         INSTACALC APPLICATIONS  . . . . . . . . . . . . . . . . . . . . .   84
  278.              CREATING AN APPLICATION  . . . . . . . . . . . . . . . . . .   84
  279.              RUNNING AN APPLICATION . . . . . . . . . . . . . . . . . . .   85
  280.              LANGUAGE DESCRIPTION . . . . . . . . . . . . . . . . . . . .   86
  281.              SPECIAL KEY NAMES  . . . . . . . . . . . . . . . . . . . . .   88
  282.              THE INSTACALC COMMAND ENVIRONMENT  . . . . . . . . . . . . .   89
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.                                           1
  300.  
  301.  
  302.         GETTING STARTED
  303.         ---------------
  304.  
  305.         INSTALLING INSTACALC
  306.         --------------------
  307.         The  InstaCalc program  is  in a  compressed  form.   An  installation
  308.         program is included which will automatically install InstaCalc on your
  309.         hard disk or another floppy.  To run this program:
  310.  
  311.         1. Turn on your computer.
  312.         2. Insert the InstaCalc disk into drive A.
  313.         3. Type A: at the DOS prompt and press <Enter>.
  314.         4. Type INSTALL and press <Enter>.
  315.         5. Respond to the prompts as directed.
  316.  
  317.  
  318.         HOW TO RUN INSTACALC
  319.         --------------------
  320.         InstaCalc  may  be  run  in  two  different  modes;  as  a  standalone
  321.         spreadsheet, or as a pop up spreadsheet.
  322.  
  323.         Standalone: To run InstaCalc as a standalone spreadsheet:
  324.         - Turn on your computer
  325.         - Change to the directory where the InstaCalc files are
  326.         - Type INSTA
  327.  
  328.         Pop up: To run InstaCalc as a pop up spreadsheet:
  329.         - Turn on your computer
  330.         - Change to the directory where the InstaCalc files are
  331.         - Type INSTA /p
  332.  
  333.         This  will install  InstaCalc into  memory and return  you to  the DOS
  334.         prompt.  InstaCalc will then look  at every keystroke you type  (don't
  335.         worry, it  isn't doing anything  to hurt  them).  InstaCalc  is simply
  336.         looking for a particular key sequence  known as the Hot Key.  The  Hot
  337.         Key is  initially defined to be  <Alt>I, but you can  change this with
  338.         the setup program described later.
  339.  
  340.         Once you have  loaded InstaCalc  into memory, you  may go about  doing
  341.         whatever  you need to do, whether it  is running DOS commands or other
  342.         programs.  Then, whenever you need the power of InstaCalc, simply type
  343.         <Alt>I (or  whatever you have defined the Hot Key to be) and InstaCalc
  344.         will pop into action.
  345.  
  346.         InstaCalc  should be loaded  after memory resident  programs which are
  347.         not called up by a hot key (such as RAM disks, print spoolers, etc).
  348.  
  349.         When InstaCalc is run in pop up  mode, it will only use 15K of memory,
  350.         swapping  the rest  of the  program in  and out  from your  hard disk,
  351.         extended, or expanded memory.   When swapping from disk, there will be
  352.         a delay from the time  you press the Hot Key and when the program pops
  353.         up (and  pops down when  you are done).   The message Swapping  in and
  354.         Swapping out will be displayed at these times.
  355.  
  356.         If you want to unload InstaCalc from memory, simply type INSTA /u
  357.  
  358.  
  359.  
  360.  
  361.                                           2
  362.  
  363.  
  364.         NOTE  FOR  WORDPERFECT  USERS:  Sometimes when  popping  InstaCalc  up
  365.         through WordPerfect on an EGA or VGA system, the InstaCalc screen will
  366.         have a strange appearance (such as text in italics,  odd colors, etc).
  367.         This is because WordPerfect sometimes uses special "fonts" on  screen,
  368.         and InstaCalc  must use  the current  "font" when it  pops up  through
  369.         WordPerfect.  There are two ways around this:
  370.  
  371.         (1)   In  WordPerfect,  go  into   the  setup  screen,   and  set  the
  372.         Colors/Fonts/Attributes to "Normal Font Only".
  373.  
  374.         or
  375.  
  376.         (2) Run the InstaCalc SETUP.EXE program, and  make sure the colors you
  377.         select  for the  various parts  of  the screen  come from  the left  8
  378.         columns of  the color selection box (the right 8 columns of colors are
  379.         the ones that cause the problems).
  380.  
  381.  
  382.  
  383.         STARTUP OPTIONS
  384.         ---------------
  385.         InstaCalc provides  a variety  of options you  can use when  you first
  386.         start up the program.
  387.  
  388.         Switches  InstaCalc provides the following command line switches:
  389.  
  390.         /Pmemory: Install InstaCalc as a popup spreadsheet.  If you use the /P
  391.         alone, InstaCalc  will allocate 40K of  memory for your data.   If you
  392.         want more (or less) memory to store your data in, then add  the number
  393.         of bytes desired immediately after the /P.
  394.  
  395.         /U: Unload InstaCalc from memory.
  396.  
  397.  
  398.  
  399.         CUSTOMIZING INSTACALC
  400.         ---------------------
  401.         InstaCalc includes a setup  program which allows you to  customize the
  402.         functionality and appearance of  InstaCalc on your system, as  well as
  403.         select a hot key.  To run the setup program, simply type:
  404.  
  405.         SETUP  at the DOS prompt.
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.                                           3
  424.  
  425.  
  426.         INSTACALC BASICS
  427.         ----------------
  428.  
  429.         THE WORKSHEET
  430.         -------------
  431.         A spreadsheet may be  thought of as a large electronic worksheet, much
  432.         like a piece of paper divided into rows and columns, like this:
  433.  
  434.                      A   B   C   D   E   F   G   H
  435.                    ---------------------------------
  436.                   1|   |   |   |   |   |   |   |   |
  437.                    |---|---|---|---|---|---|---|---|
  438.                   2|   |   |   |   |   |   |   |   |
  439.                    |---|---|---|---|---|---|---|---|
  440.                   3|   |   |   |   |   |   |   |   |
  441.                    |---|---|---|---|---|---|---|---|
  442.                   4|   |   |   |   |   |   |   |   |
  443.                    |---|---|---|---|---|---|---|---|
  444.                   5|   |   |   |   |   |   |   |   |
  445.                    |---|---|---|---|---|---|---|---|
  446.                   6|   |   |   |   |   |   |   |   |
  447.                    |---|---|---|---|---|---|---|---|
  448.                   7|   |   |   |   |   |   |   |   |
  449.                    ---------------------------------
  450.  
  451.         An InstaCalc  worksheet has 256  columns and 4096  rows.  In  order to
  452.         distinguish columns from each other, InstaCalc assigns a letter of the
  453.         alphabet to  each column.  The  first 26 columns are  labeled with the
  454.         letters A through Z.  Since there are 256 columns but only 26 letters,
  455.         the remaining columns must use 2 letters to  identify them.  InstaCalc
  456.         assigns each of the rows in a worksheet a  number from 1 to 4096.  The
  457.         top row in a worksheet is row 1 and the bottom row is row 4096.
  458.  
  459.         The area where a row and a column cross  is known as a cell. Each cell
  460.         in  the  Worksheet is  identified by  the letter  (or letters)  of the
  461.         column it is in,  and the number of the row it is in. For example, the
  462.         cell that  is in column R and row 29  is named R29 (the column letters
  463.         always come before the row number).  Each one of the cells may contain
  464.         some text, a number, or a formula.
  465.  
  466.         Since it is impossible to view all  4096 rows and 256 columns at once,
  467.         the screen display provides a window looking into the Worksheet.   The
  468.         letters  of the  columns which are  on the  screen are  displayed in a
  469.         horizontal bar above  the columns, while the numbers of the rows which
  470.         are on the screen are displayed  in a vertical bar to the left  of the
  471.         rows.
  472.  
  473.         A status line  is located in the  upper left corner of the  screen and
  474.         looks something like this:
  475.  
  476.         A1: (W9) BLANK <Default>
  477.  
  478.         Each  component of the status line tells you certain information about
  479.         the current cell.   A1 tells you that the cell you are currently at is
  480.         in column A and row 1.  (W9) tells you that the column you are in is 9
  481.         characters wide.
  482.  
  483.  
  484.  
  485.                                           4
  486.  
  487.  
  488.         BLANK tells you that  the cell you  are at is  currently blank.   This
  489.         item tells you what is currently in the cell:
  490.  
  491.         BLANK     - a blank cell
  492.         TEXT      - a line of text
  493.         NUMBER    - a number
  494.         FORMULA   - a formula with a numeric result
  495.         TXTFORM   - a formula with a text result
  496.         FORMAT    - a blank cell which contains formatting information
  497.         ERROR     - a formula which has an error value
  498.  
  499.         The bottom  line of the display is an  index to the function keys <F1>
  500.         through <F10> so you don't have to memorize or look them up.  Pressing
  501.         <Ctrl> changes this  index to  reflect the operation  of the  function
  502.         keys when used in combination with the <Ctrl> key.
  503.  
  504.  
  505.  
  506.         HOW TO GET HELP
  507.         ---------------
  508.         InstaCalc provides extensive online help for its features.  To call up
  509.         this help, simply press the <F1> Help key at any point in the program.
  510.         A  help  screen  will pop  up  which  provides  information about  the
  511.         operation you are attempting.
  512.  
  513.         InstaCalc's  help is context-sensitive.  This  means that InstaCalc is
  514.         always keeping  track of what you are doing so that it can provide the
  515.         proper help  screen when you  ask for it.   For example, if  you press
  516.         <F1> when  you are  trying to copy  a cell,  then a help  screen which
  517.         explains that feature will pop up.
  518.  
  519.         InstaCalc's help is also interactive.  This means that the help screen
  520.         which  pops up  will also  list several  other help screens  which are
  521.         related to what you are doing.  You may view one of these related help
  522.         screens by simply  using the <Left>  and <Right>  keys (or moving  the
  523.         mouse)  to  move the  highlight bar  to the  name  of the  help screen
  524.         desired, and then pressing the <Enter> key or left mouse button, or by
  525.         simply pressing the first letter of the desired help screen's name.
  526.  
  527.         You may also call up a list of help screens called the <HELP INDEX> by
  528.         pressing the <F1>  key a second time, or by  pressing the right button
  529.         on your mouse.
  530.  
  531.         After you have read the help  screens that interest you, simply  press
  532.         the <Esc>  key (or both mouse  keys simultaneously) to return  to what
  533.         you were doing.
  534.  
  535.  
  536.  
  537.         MOVING AROUND THE WORKSHEET
  538.         ---------------------------
  539.         You move  from cell to  cell by moving  the "cell pointer".   The cell
  540.         pointer is a highlighted bar on  the screen which "points to" the cell
  541.         in  the  Worksheet which  is the  current cell.    The address  of the
  542.         current cell is displayed on the top line of the InstaCalc screen.
  543.  
  544.         InstaCalc provides many ways to move the cell pointer.
  545.  
  546.  
  547.                                           5
  548.  
  549.  
  550.         The arrow keys move the cell pointer up, down, left, or right one cell
  551.         position.
  552.  
  553.         The <Home> key moves the cell pointer to cell A1.
  554.  
  555.         The  <End> key operates in a different  manner than the other movement
  556.         keys.   Pressing  <End> does  not move  the cell  pointer itself,  but
  557.         changes  the way the <Left>, <Right>, <Up>, <Down>, <PgUp>, <PgDn> and
  558.         <Home> keys work.   If  you press the  <End> key and  then one of  the
  559.         arrow keys or <PgUp> or <PgDn>, then the cell pointer will move in one
  560.         of the following ways:
  561.  
  562.         -  If the  cell  pointer is  in  a blank  cell, it  will  move in  the
  563.         direction selected to the first non blank cell.
  564.  
  565.         - If the  cell pointer is  in a non  blank cell, it  will move in  the
  566.         direction selected to the last non blank cell before a blank cell.
  567.  
  568.         If you press the <End> key followed immediately by the <Home> key, the
  569.         cell pointer will  move to the cell  in the lower right  corner of the
  570.         sheet.
  571.  
  572.         If you  want to cancel out the effect of  the <End> key after you have
  573.         pressed it, simply press <End> a second time.
  574.  
  575.         The <Ctrl><Right>  key sequence moves  the cell  pointer one  screen's
  576.         worth of  columns to the  right.   This key sequence  is generated  by
  577.         holding down the <Ctrl> key and pressing <Right>.
  578.  
  579.         The <Ctrl><Left>  key  sequence moves  the cell  pointer one  screen's
  580.         worth  of columns  to the  left.   This key  sequence is  generated by
  581.         holding down the <Ctrl> key and pressing <Left>.
  582.  
  583.         The  <PgUp> key moves the cell pointer  up one screen's worth of rows.
  584.         This key sequence  is generated  by holding down  <Ctrl> and  pressing
  585.         <PgUp>.
  586.  
  587.         The <PgDn> key moves the cell pointer down one screen's worth of rows.
  588.         This key sequence  is generated  by holding down  <Ctrl> and  pressing
  589.         <PgDn>.
  590.  
  591.         The  <F5>  key  moves  the  cell  pointer  anywhere  you  tell it  to.
  592.         InstaCalc will ask you which cell you want to go to, and you just type
  593.         in the cell name and hit <Enter>.
  594.  
  595.         In addition to  the various movement keys, InstaCalc provides built-in
  596.         mouse support.   If  you have  a mouse and  have installed  your mouse
  597.         driver before running InstaCalc, then you can move the cell pointer by
  598.         simply moving the mouse in the direction you want to go.
  599.  
  600.  
  601.  
  602.         ENTERING AND EDITING DATA
  603.         -------------------------
  604.         You can enter numbers or text into any of the cells in  the Worksheet.
  605.         Just  move the cell pointer to the cell  you want to enter a number or
  606.         text  in,  and type  the number  or text.    You may  enter up  to 240
  607.  
  608.  
  609.                                           6
  610.  
  611.  
  612.         characters into  each cell.  The  number or text will  be entered into
  613.         the cell  as soon  as you press  <Enter> or one  of the  movement keys
  614.         (<Up>, <Down>, <Left>,  <Right>, <PgUp>,  or <PgDn>).   If you  finish
  615.         entering the data using the <Enter> key, the cell pointer will  remain
  616.         positioned at  the same cell.   If you finish entering  the data using
  617.         one of  the movement keys, the  data will be entered  into the current
  618.         cell,  and then  the cell  pointer will  move to  another cell  in the
  619.         direction you specified.
  620.  
  621.         Numbers: A number  can range in  value from -10^37  to 10^37, and  can
  622.         have up to 11 significant places.  You can enter a number into  a cell
  623.         using either  standard notation  (like 12.345) or  scientific notation
  624.         (like 1234.5e-2).
  625.  
  626.         Text: If  you enter a line of text which contains more characters than
  627.         the column is  wide, it will  spill over into  adjacent cells (if  the
  628.         adjacent  cells are blank).  If the  adjacent cells contain data, then
  629.         the extra  characters in the text string will be hidden from view (but
  630.         they  will still  be in  the cell).   If  you want  to see  the entire
  631.         string, you must widen the column containing the text.
  632.  
  633.         The  way  your text  is  displayed  in a  cell  depends  on the  first
  634.         character of the  text.  There are four (4)  possible characters which
  635.         can precede  your text and which affect the way the text is displayed.
  636.         These characters are:
  637.  
  638.         ' causes the text to be left justified in the cell
  639.         " causes the text to be right justified in the cell
  640.         ^ causes the text to be centered in the cell
  641.         \ causes the next character to be repeated
  642.  
  643.         If you enter some text without  one of the above special characters as
  644.         the  first character,  InstaCalc will  automatically place  the global
  645.         justify character on the text for you.  You can select  or change this
  646.         global justify  character with the  /Worksheet Justify command  on the
  647.         main menu.  Once the text has been entered into a cell, you may change
  648.         the justification using either the /Cell Justify or the /Range Justify
  649.         commands (or use the <F2>Edit function key to enter edit mode and just
  650.         change the justification character to the one you want).
  651.  
  652.         Editing: If you need  to change an entry in a cell,  but don't want to
  653.         retype the entire thing,  InstaCalc provides the ability to  edit your
  654.         entry. Simply move the  cell pointer to the cell you want to edit, and
  655.         press  the <F2> Edit key.   If there is anything  in the cell to edit,
  656.         InstaCalc  will enter its  editing mode.   Also, if you  make an error
  657.         when  entering  a formula  this  editing  capability  will  be  called
  658.         automatically.
  659.  
  660.         When you are in edit mode, the following editing keys are available:
  661.  
  662.         <Left>         moves the cursor one character to the left.
  663.         <Right>        moves the cursor one character to the right.
  664.         <Home>         moves the cursor to the first character.
  665.         <End>          moves the cursor to the last character.
  666.         <Ctrl><Right>  moves the cursor one word to the right.
  667.         <Ctrl><Left>   moves the cursor one word to the left.
  668.  
  669.  
  670.  
  671.                                           7
  672.  
  673.  
  674.         <BkSp>         deletes the  character to  the left  of the cursor  and
  675.                        shifts the following characters in the line to the left
  676.                        to fill in the empty space.
  677.  
  678.         <Ctrl><BkSp>   deletes  the  entire line.   This  is  not the  same as
  679.                        erasing  the cell.  The cell will still take up memory,
  680.                        but it will contain a blank  string.  To erase the cell
  681.                        completely, use the /Cell Erase command.
  682.  
  683.         <Del>          deletes the character underneath the cursor  and shifts
  684.                        the following  characters in  the line  to the  left to
  685.                        fill in the empty space.
  686.  
  687.         <Ins>          toggles  between insert  and overwrite modes.  When you
  688.                        are in insert mode, typing  a character will insert the
  689.                        new  character  into the  line at  the point  where the
  690.                        cursor is. The character under the cursor and  those to
  691.                        the right of  the cursor  are shifted to  the right  to
  692.                        make room  for  the  new character.  When  you  are  in
  693.                        overwrite  mode, typing  a character  will replace  the
  694.                        character under the cursor with the new character.
  695.  
  696.                        When  you are  in insert  mode, the  cursor will  be an
  697.                        underline.   In  overwrite mode  the cursor  will be  a
  698.                        solid block.
  699.  
  700.  
  701.  
  702.         HOW TO ENTER AND USE FORMULAS
  703.         -----------------------------
  704.         One  of the most useful features of  any spreadsheet is the ability to
  705.         perform  calculations using  the  numbers and  text  entered in  other
  706.         cells.  This is  done by entering a formula  into a cell.  To  enter a
  707.         formula, you simply  move the cell  pointer to the  cell you want  the
  708.         formula to be in, type the  formula, then press <Enter>.  When a  cell
  709.         contains  a  formula,  it will  display  the  value  that the  formula
  710.         evaluates to, rather than the formula itself.
  711.  
  712.         An InstaCalc formula must begin with an equal sign '=' and may be made
  713.         up  of numbers (or text in some  cases), references to values in other
  714.         cells, built-in  functions, and mathematical, logical,  and comparison
  715.         operators.
  716.  
  717.         Example: Let's say you have  a number in cell  B5 and another in  cell
  718.         C6, and you would  like to add these two numbers and  place the result
  719.         in  cell A4.   Simply  move the cell  pointer to  A4, and  type in the
  720.         following formula: =B5+C6 (followed by <Enter>).  Cell A4 now contains
  721.         the  formula  you  entered, but  it  will display  the  result  of the
  722.         formula.  If  you later  change the  number in  either B5  or C6,  the
  723.         formula  in  A4  will be  recalculated  and  the  new  value  will  be
  724.         displayed.
  725.  
  726.         You can use  the following operators in a formula (a  and b can be any
  727.         number, cell reference, function, or formula):
  728.  
  729.         Mathematical
  730.         a+b  Addition
  731.  
  732.  
  733.                                           8
  734.  
  735.  
  736.         a-b  Subtraction
  737.         a*b  Multiplication
  738.         a/b  Division
  739.         a^b  Exponentiation
  740.  
  741.         Logical
  742.         a&b  And (is true only if a is true AND b is true)
  743.         a|b  Or (is true is a is true OR b is true)
  744.         ~b   Not (false if b is true, and true if b is false)
  745.  
  746.         Comparison
  747.         a=b  is true if a is equal to b
  748.         a<>b is true if a is NOT equal to b
  749.         a<b  is true if a is less than b
  750.         a>b  is true if a is greater than b
  751.         a<=b is true if a is less than or equal to b
  752.         a>=b is true is a is greater than or equal to b
  753.  
  754.         You can also use the comparison operators to compare text strings with
  755.         each other.   Two strings  are considered equal  if they are  the same
  756.         length, and  contain the same  characters in the  same order.   String
  757.         comparisons  are case  insensitive, which means  that two  letters are
  758.         considered the same regardless of whether  one is uppercase and one is
  759.         lowercase.  For  example, the string Test  is considered equal to  the
  760.         string test.
  761.  
  762.         In addition, the + operator can also be used to concatenate 2 strings.
  763.         For example, the formula:
  764.  
  765.         ="This is"+" a test"
  766.  
  767.         returns the string This is a test.
  768.  
  769.         If  you  enter a  formula  which  uses  more  than one  operator,  the
  770.         operations  are   always  performed   in  a  specific   order  (called
  771.         precedence).  The order of precedence is:
  772.  
  773.         1. Exponentiation                  ^ 
  774.         2. Negation                        -
  775.         3. Multiplication and Division     *   /
  776.         4. Addition and Subtraction        +   -
  777.         5. Comparison                      =   <   >   <=   >=   <>
  778.         6. Not                             ~
  779.         7. And/Or                          &   |
  780.  
  781.         where exponentiation is performed before negation and so on.
  782.  
  783.         If  you want to  change the order  in which operations  are performed,
  784.         then you  must use parentheses in your formulas.  Operations which you
  785.         place  in  parentheses  will be  performed  before  those  outside the
  786.         parentheses.  For example, the formula
  787.  
  788.         =2+3*4
  789.  
  790.         evaluates as 14  (not 20) because the multiply has a higher precedence
  791.         than the  addition.  If you  want the addition to  be performed first,
  792.         then use parentheses to make the equation look like
  793.  
  794.  
  795.                                           9
  796.  
  797.  
  798.         =(2+3)*4
  799.  
  800.         In addition to typing cell references in formulas, you  can also enter
  801.         cell references by  pointing to them  with the cell  pointer.  At  any
  802.         point in entering a formula where a cell reference is allowed, you can
  803.         simply  press any of the cell pointer  movement keys to begin pointing
  804.         to a cell or range  of cells.  The address of the cell  which the cell
  805.         pointer is  on will  appear  in the  formula.   As you  move the  cell
  806.         pointer  around,  the reference  in the  formula  will be  adjusted to
  807.         reflect the new position of the cell pointer.
  808.  
  809.         When the cell  pointer is  highlighting the cell  reference you  want,
  810.         either press the <Enter> key or the  character you want to immediately
  811.         follow the  cell  reference.    If you  press  the  <Enter>  key,  the
  812.         reference will be  entered and you may continue  to enter the formula.
  813.         If  you press another key, the reference  and the key you pressed will
  814.         be entered  on the  formula line,  and you  may continue entering  the
  815.         formula. 
  816.  
  817.         If you change  your mind about  pointing to a  cell reference,  simply
  818.         press the  <Esc> key and you will be returned to formula entry without
  819.         any cell reference being entered.
  820.  
  821.         If you have named any cells with the /Range Name command, you may also
  822.         select a  cell or range  reference from  a list  of these  references.
  823.         Simply press the <F3> key when you want to select a named range, and a
  824.         menu will  pop up which lists  all the currently  defined range names.
  825.         You can  then select the  range name you want,  and it will  be placed
  826.         into  your formula for you.   The <F3> key will only  pop up the range
  827.         name list when it is legal to enter a cell or range reference.
  828.  
  829.         If you enter a formula which InstaCalc can't evaluate, the formula you
  830.         entered will be displayed on the command line and the editing facility
  831.         will  be invoked.   The cursor  will be  placed near  the part  of the
  832.         formula which InstaCalc didn't like, and you may fix the formula using
  833.         the editing commands.
  834.  
  835.         If you  enter (or edit)  a formula and  the word  CIRC appears in  the
  836.         upper  right corner  of the  screen, this  means a  circular reference
  837.         exists in your  worksheet.  A circular reference means  that a formula
  838.         in your  worksheet depends on  the value  of the cell  it is in.   For
  839.         example, if cell A1 contains the formula =2*A1, then the  formula must
  840.         use  the current value of cell A1  to calculate the next value of cell
  841.         A1.  If  you have a circular reference, the status window (<Ctrl><F8>)
  842.         will tell you which cell it is.
  843.  
  844.  
  845.  
  846.         RELATIVE AND ABSOLUTE CELL REFERENCES
  847.         -------------------------------------
  848.         When a formula references  another cell, there are two  different ways
  849.         that the cell can be  referenced; absolute and relative.  The  purpose
  850.         of relative  and absolute references is to  let InstaCalc know what to
  851.         do when moving formulas from cell to cell.
  852.  
  853.         It is  easy to  distinguish between  an absolute  and a  relative cell
  854.         reference.  An absolute  cell reference uses the $ character  in front
  855.  
  856.  
  857.                                           10
  858.  
  859.  
  860.         of each of its coordinates, like $A$1, while a relative reference uses
  861.         no special characters, like A1.
  862.  
  863.         Absolute: An absolute cell reference in a formula points to the  exact
  864.         same cell, regardless of where the formula is moved or copied to.
  865.  
  866.         Relative: A  relative cell reference in  a formula points to  the cell
  867.         which is a certain number of rows and columns away.  If the formula is
  868.         moved, the new  relative cell reference  will be adjusted to  point to
  869.         the cell the same number of rows and columns away from the new formula
  870.         location.
  871.  
  872.         It doesn't matter  whether a  cell reference is  absolute or  relative
  873.         when a  formula is evaluated;  the result will  be the same  in either
  874.         case.   For example, the  formula =2*A1  will have the  same value  as
  875.         =2*$A$1.    You can have both absolute and relative references  in the
  876.         same equation if you want.
  877.  
  878.  
  879.  
  880.  
  881.         DEFINING A RANGE OF CELLS
  882.         -------------------------
  883.         Many of  InstaCalc's commands can operate  on more than one  cell at a
  884.         time.  These commands will  usually ask you to define a range of cells
  885.         to perform the  command on.  A reference to a  range is made up of the
  886.         cells at  opposite corners of the range separated by two periods.  For
  887.         example, the range  reference A1..Z20  contains all the  cells in  the
  888.         range bordered by columns A through Z and rows 1 through 20.
  889.  
  890.         When a  command  asks you  to define  a range  of cells,  there are  5
  891.         different options.
  892.  
  893.         - You can simply type in the range reference.
  894.  
  895.         - You can type  in the name of  a cell surrounded by  square brackets.
  896.         InstaCalc will read  the name  of the range  out of  that cell.   This
  897.         option allows your  application programs to indirectly  supply a range
  898.         reference to a command.
  899.  
  900.         Example: If cell  B5 contains  the string 'G1..J10,  then typing  [B5]
  901.         when you  are asked to define a range will  cause InstaCalc to use the
  902.         range G1..J10 for the command.
  903.  
  904.         - If you  have named a  range using the  /Range Name command,  you may
  905.         simply type in the name.
  906.  
  907.         Example:  If you assigned  the name COSTS  to the range  G1..J10, then
  908.         typing COSTS when you are asked to define a range will cause InstaCalc
  909.         to use the range G1..J10 for the command.
  910.  
  911.         -  Pressing the  <F3>  Range key  will  bring up  a  menu  of all  the
  912.         currently defined range names.  You may pick a range from this list by
  913.         highlighting the name and pressing the <Enter> key.  If there are more
  914.         than 16 range names defined, you may press the <PgUp>  and <PgDn> keys
  915.         to view more range names.
  916.  
  917.  
  918.  
  919.                                           11
  920.  
  921.  
  922.         - You can highlight the  range on screen using the cursor keys.   When
  923.         you are defining a  range, all the visible cells in  the range will be
  924.         highlighted on the screen.  On the command line you will see  either a
  925.         single cell reference  or a range reference.   A single cell reference
  926.         means  that an  anchor cell  has  not been  selected.   In this  case,
  927.         pressing a movement key simply  moves the cell pointer to a  new cell,
  928.         but does not highlight (or define) any other cells.  If an anchor cell
  929.         has been  selected  then all  cells between  the anchor  cell and  the
  930.         current cell are defined (and highlighted if visible).
  931.  
  932.         You can use any of the movement keys (including <F5> GoTo) to move the
  933.         cell pointer  when highlighting a  range of  cells.  In  addition, the
  934.         following keys are active when defining a range:
  935.  
  936.         <Enter> This key causes all the cells in the range on the command line
  937.         to  be defined. If only a single  cell reference is displayed when you
  938.         press <Enter>, then only that cell will be defined.
  939.  
  940.         . The period key sets the anchor to the current cell. If an anchor was
  941.         already set before you pressed the period, then it is  released before
  942.         the new one is set.
  943.  
  944.         <Esc> This key  releases the anchor if it is  set. Pressing <Esc> when
  945.         the anchor  is not set cancels the range selection, and returns you to
  946.         whatever you were doing before you were asked to define a range.
  947.  
  948.         <F4> This  key cycles the range cell references among the absolute and
  949.         relative  types. If  no anchor  is set  then the  first  coordinate is
  950.         adjusted.  If the  anchor  has  been set  then  <F4>  will adjust  the
  951.         non-anchor reference.
  952.  
  953.  
  954.  
  955.  
  956.  
  957.         BUILT-IN @FUNCTIONS
  958.         -------------------
  959.         InstaCalc  provides  built-in functions  which  you  can use  in  your
  960.         formulas.  These built-in  functions each begin with the  character @,
  961.         and are  often called at functions.   A list of these  functions is in
  962.         Built-In Functions in the reference section of this manual.
  963.  
  964.  
  965.  
  966.  
  967.         USING THE COMMAND MENUS
  968.         -----------------------
  969.         When you  want to execute a  command in InstaCalc, it  will usually be
  970.         through InstaCalc's menu system.  A menu is simply a  list of commands
  971.         which you can pick from.   Through the menus you can manipulate cells,
  972.         ranges,  or the  entire  Worksheet, graph  or  print data,  manipulate
  973.         files, or even temporarily exit to the operating system.
  974.  
  975.         To bring up InstaCalc's  menu system, you simply press the  / key.  If
  976.         you are  using a mouse, then you may also  press the left mouse button
  977.         to bring up the menu.
  978.  
  979.  
  980.  
  981.                                           12
  982.  
  983.  
  984.         The menu  system uses a sliding  bar to show your choices.   There are
  985.         three ways you can choose an option:
  986.  
  987.         -  Press  the  <Left>  or  <Right>  key  until  the  sliding  bar   is
  988.         highlighting the  option you  want.   Then press <Enter>  to make  the
  989.         choice.   The <Home>  key can be  pressed to highlight  the first menu
  990.         choice,  and pressing  the  <End> key  will  highlight the  last  menu
  991.         choice.
  992.  
  993.         - If you are using a mouse, you may move the sliding bar by moving the
  994.         mouse  back and  forth.   Move  the  mouse until  the  sliding bar  is
  995.         highlighting the option you want.  Then press the left mouse button to
  996.         make the choice.
  997.  
  998.         -  As a shortcut  you can simply  press the highlighted  letter of the
  999.         desired item (usually the first character) to select that option.
  1000.  
  1001.         A help  line appears above  the main  menu.  This  line describes  the
  1002.         highlighted menu option.  When you move the sliding bar to a new item,
  1003.         this help line will  change to display a line of  help about the newly
  1004.         highlighted item.
  1005.  
  1006.         When you choose  an option from  the menu, a new  submenu will pop  up
  1007.         which works the same as the main menu.  As each new submenu is chosen,
  1008.         the  previous menus remain on-screen,  providing you with  a "tree" of
  1009.         your commands.  To go back one  level, simply press the <Esc> key  (or
  1010.         the right  mouse button).  To  clear all the menus from  the screen at
  1011.         once, press the <BkSp> key (or both mouse buttons simultaneously.
  1012.  
  1013.         A list of menu commands can be found in InstaCalc Command Menus in the
  1014.         reference section of this manual.
  1015.  
  1016.  
  1017.  
  1018.         USING THE FUNCTION KEYS
  1019.         -----------------------
  1020.         Several of InstaCalc's commands are assigned to one of the 10 function
  1021.         keys instead  of or in addition  to the command menus.   Several other
  1022.         commands are also assigned to one of the function keys with the <Ctrl>
  1023.         key  pressed.  To execute one of  these commands, simply hold down the
  1024.         <Ctrl> key and then press the appropriate function key.
  1025.  
  1026.  
  1027.  
  1028.         SAVING AND RETRIEVING DATA
  1029.         --------------------------
  1030.         As you are creating and using spreadsheets, your data is stored in the
  1031.         memory  of  your  PC.   You  should store  your  spreadsheets  on disk
  1032.         periodically throughout the day  or session and definitely at  the end
  1033.         of  each day.   In  the  event of  a  power outage  or  if you  should
  1034.         forgetfully turn off the machine before a save has been done, the data
  1035.         entered since the last save to disk is lost.
  1036.  
  1037.         Saving: You can save your worksheet to  a file on disk using the /File
  1038.         Save  command.   If  you  just  want  to save  a  small  part of  your
  1039.         spreadsheet, the /File Xtract command will provide that capability.
  1040.  
  1041.  
  1042.  
  1043.                                           13
  1044.  
  1045.  
  1046.         Retrieving: When  you want  to  read a  file off  the  disk back  into
  1047.         memory, you should use the /File Retrieve command.
  1048.  
  1049.         Importing: The /File  Import command lets you bring  in data from just
  1050.         about any source and use it in your spreadsheet.  InstaCalc can import
  1051.         data from Lotus 1-2-3 (WKS and WK1), dBase II/III/III+ , DIF and ASCII
  1052.         files.
  1053.  
  1054.         Exporting: InstaCalc can export its data in several different formats,
  1055.         and  most software  packages are  capable of reading  at least  one of
  1056.         them.   InstaCalc can export Lotus  1-2-3 (in two forms,  WKS or WK1),
  1057.         dBase II or dBase III or III+, DIF, or ASCII files.
  1058.  
  1059.  
  1060.  
  1061.         USING THE FILE MANAGER
  1062.         ----------------------
  1063.         InstaCalc provides many features designed to simplify its use.  One of
  1064.         these  features is the  Visual File Manager.   The File Manager allows
  1065.         you to  manipulate files, directories,  and drives by  simply pointing
  1066.         and selecting.  It may be accessed by two methods.
  1067.  
  1068.         - Any time  you are asked  for a file name,  pressing the <Enter>  key
  1069.         without a file name will bring the File Manager forward to assist you.
  1070.  
  1071.         - To access the complete listing of files, select /File Files from the
  1072.         command menu.
  1073.  
  1074.  
  1075.         CHANGING YOUR SPREADSHEET'S APPEARANCE
  1076.         --------------------------------------
  1077.         InstaCalc  lets you change the way numbers are displayed on the screen
  1078.         by  assigning a  "format" to  cells.   You  might  set a  cell to  the
  1079.         Currency format, for example, so that the number in that  cell will be
  1080.         displayed with a  leading dollar sign.  Changing the  format of a cell
  1081.         does not change  the value  stored in  the cell,  only the  way it  is
  1082.         displayed on the screen (and printouts).
  1083.  
  1084.         Normally, when you enter data into a  cell, the cell will take on  the
  1085.         global  (Worksheet) format.    You  can see  what  this  format is  by
  1086.         pressing  <Ctrl><F8> to  bring up  the status  window.   The Worksheet
  1087.         format may be changed by using the /Worksheet Format command.
  1088.  
  1089.         The format of an individual cell may be changed using the /Cell Format
  1090.         command, and the format  of a range of cells may be  changed using the
  1091.         /Range Format command.  You should use  care when formatting ranges of
  1092.         blank cells, because formatted cells use up memory, even if the cells'
  1093.         contents are blank.
  1094.  
  1095.         A cell may be set to any of the following formats:
  1096.  
  1097.         General   The value is  displayed with  only the  necessary number  of
  1098.                   decimal places.
  1099.  
  1100.         Currency  The  value is displayed with  a preceding dollar  sign and a
  1101.                   selected  number  of  decimal  places.    If  the  value  is
  1102.                   negative, the  value is enclosed in  parentheses rather than
  1103.  
  1104.  
  1105.                                           14
  1106.  
  1107.  
  1108.                   displayed with a negative sign.  There are two sub-options:
  1109.  
  1110.                   Comma     A comma will be inserted every three whole digits.
  1111.                             (Example: $103,297.25)
  1112.  
  1113.                   NoComma   No comma is inserted in the number.
  1114.  
  1115.  
  1116.         Fixed     The  value  is displayed  with  a  fixed  number of  decimal
  1117.                   places.   Values  which are  very large  or very  small will
  1118.                   appear  in  scientific  notation.     Four  sub-options  are
  1119.                   available:
  1120.  
  1121.                   Comma     A comma will be  inserted every three whole digits
  1122.                             (Example:  12,345.67).     Negative  numbers   are
  1123.                             preceded by a negative sign.
  1124.  
  1125.                   NoComma   No  comma is  inserted  in the  number.   Negative
  1126.                             numbers are preceded by a negative sign.
  1127.  
  1128.                   A ()      No  comma is  inserted  in the  number.   Negative
  1129.                             numbers are enclosed in parentheses.
  1130.  
  1131.                   B (,)     A comma will be inserted every three whole digits.
  1132.                             Negative numbers are enclosed in parentheses.
  1133.  
  1134.         Percent   The value is displayed  as a percentage with a  fixed number
  1135.                   of  decimal places.  The value is  multiplied by 100, and is
  1136.                   displayed with a  trailing percent sign %.   Two sub-options
  1137.                   are available:
  1138.  
  1139.                   Comma     A comma will be inserted every three whole digits.
  1140.                             (Example: 1,024%)
  1141.  
  1142.                   NoComma   No comma is inserted in the number.
  1143.  
  1144.         Science   The value is  displayed in exponential  form, and shows  the
  1145.                   power of  10 that  the number  must be multiplied  by.   For
  1146.                   example, 1.78E+07 means 1.78 times 10^7.
  1147.  
  1148.         Time      A time number (usually provided by one of the InstaCalc time
  1149.                   functions) is displayed in one of two ways.
  1150.  
  1151.                   AM/PM     The  time appears in the a.m. or p.m. form.  Thus,
  1152.                             5:00 in the evening appears as 5:00 p.m.
  1153.  
  1154.                   Military  The time appears  as it would on  a 24-hour clock.
  1155.                             Thus, 5:00 in the evening appears as 17:00.
  1156.  
  1157.         Date      A date number (usually provided by one of the InstaCalc date
  1158.                   functions) is displayed in one of five ways.
  1159.  
  1160.                   dd-mmm-yy      June 10, 1960 appears as 10-Jun-60.
  1161.                   dd-mmm         June 10, 1960 appears as 10-Jun.
  1162.                   mmm-yy         June 10, 1960 appears as Jun-60.
  1163.                   mm/dd/yy       June 10, 1960 appears as 06/10/60.
  1164.                   month dd, yyyy June 10, 1960 appears as June 10, 1960.
  1165.  
  1166.  
  1167.                                           15
  1168.  
  1169.  
  1170.         Hidden    The value will not be displayed on the screen.  If you later
  1171.                   want to  unhide a hidden cell,  simply set it to  any of the
  1172.                   other formats.
  1173.  
  1174.         Label     All formulas (rather than their values) will be displayed on
  1175.                   screen.
  1176.  
  1177.         Reset     Resets the cell to the default format.
  1178.  
  1179.  
  1180.         If the formatted  value contains more characters than the width of the
  1181.         column  it is  in,  the cell  display  will be  filled with  a  row of
  1182.         asterisks  like *******.   You can  fix this  condition in  one of two
  1183.         ways.
  1184.  
  1185.         - Select a display format for the cell which requires fewer characters
  1186.         to display (or reduce the number  of digits after the decimal point to
  1187.         be displayed).
  1188.  
  1189.         - Increase the width  of the column so the formatted  cell will fit in
  1190.         it.  You can do this with the /Cell Width command.
  1191.  
  1192.  
  1193.  
  1194.         PRINTING YOUR DATA
  1195.         ------------------
  1196.         InstaCalc allows  you to print out the data you have entered and gives
  1197.         you control over what is printed and  how the printout looks.  You can
  1198.         print your entire  worksheet or  any portion of  it, including  border
  1199.         rows and columns.
  1200.  
  1201.         Just define the range to print  with the /Print Block command, set any
  1202.         options using the /Print Options command,  then send the data to  your
  1203.         printer with the /Print Go command.
  1204.  
  1205.         More details on printing is available in the reference section of this
  1206.         manual.
  1207.  
  1208.  
  1209.  
  1210.         GRAPHING YOUR DATA
  1211.         ------------------
  1212.         Once your  data has  been entered  InstaCalc  can provide  you with  a
  1213.         graphic representation of that data in only a few keystrokes.
  1214.  
  1215.         For example, if you wanted to print a bar graph of your data:
  1216.  
  1217.         1. Select /Graph from the main menu to begin.
  1218.  
  1219.         2. Select the  Type option.   A menu  will appear  from which you  may
  1220.         select the graph type.  Select Bar from the menu.  Then press <ESC> to
  1221.         return to the graph menu.
  1222.  
  1223.         3. Next, you must tell  InstaCalc what data you wish to  have graphed.
  1224.         This is  done by defining  a range  of data for  each axis.   The menu
  1225.         allows you to  define the range of data to graph  on the X axis and up
  1226.         to 6 data ranges  to graph along the Y axis.  These ranges are named A
  1227.  
  1228.  
  1229.                                           16
  1230.  
  1231.  
  1232.         through F on the menu.
  1233.  
  1234.         4.  You may add  titles, labels, and  legends to your  graph using the
  1235.         Options selection.
  1236.  
  1237.         5. You can now view your graph  by selecting View from the menu.  When
  1238.         you  are satisfied with the choices that  you have made, you may Print
  1239.         your graph.
  1240.  
  1241.  
  1242.  
  1243.         RECORDING A MACRO
  1244.         -----------------
  1245.         Although  InstaCalc's  macro language  is  powerful  enough to  create
  1246.         sophisticated  business applications,  there are  many times  when you
  1247.         will  want to  simply repeat a  sequence of keystrokes  over and over.
  1248.         InstaCalc's Macro Recorder  provides an  easy way to  create and  play
  1249.         back often repeated  key sequences.  The macro recorder  allows you to
  1250.         assign a  sequence of keystrokes to  a single key, and  when you press
  1251.         that  single  key,  it  will automatically  play  back  the  keystroke
  1252.         sequence for you.
  1253.  
  1254.         To begin recording a macro, you simply press the <Ctrl><F10> key.  You
  1255.         then press the key you want  to assign the macro to, and the  word REC
  1256.         will begin flashing in the  upper right corner of the screen.  As long
  1257.         as  REC  is  flashing,  InstaCalc  will  be  memorizing   any  further
  1258.         keystrokes you  type.  When you want to stop recording, just press the
  1259.         <Ctrl><F10> key again.  Your macro will be stored in a file whose name
  1260.         corresponds to  the key  you assigned  the macro to.   For  example, a
  1261.         macro assigned to <Ctrl>T would be named CTRLT.MAC.
  1262.  
  1263.         Later,  when you press <Ctrl>T, InstaCalc will look for the macro file
  1264.         CTRLT.MAC, and play  back the keystrokes which  are saved there.   You
  1265.         can  assign a macro to just about  any key which isn't already defined
  1266.         and used by InstaCalc.  For example, you can't redefine the arrow keys
  1267.         to do something  else, but you  can assign other keys  to do the  same
  1268.         thing as the arrow keys.  
  1269.  
  1270.  
  1271.  
  1272.         THE INSTACALC TEXT EDITOR
  1273.         -------------------------
  1274.         InstaCalc  provides a simple text  editor which you  can use to create
  1275.         and edit your  application programs.  This editor can  be called up in
  1276.         two different ways.
  1277.  
  1278.         - The /Macro  Edit command will ask you for the  name of a macro.  You
  1279.         may enter a file name, or press <Enter> to select a file from the file
  1280.         manager.  You will then be placed in the InstaCalc text editor.
  1281.  
  1282.         - You may  press <F5> when you  are using the  /File Files command  to
  1283.         edit the highlighted file.
  1284.  
  1285.         Details on  the Text Editor are provided in the /Macro Edit section of
  1286.         this manual.
  1287.  
  1288.  
  1289.  
  1290.  
  1291.                                           17
  1292.  
  1293.  
  1294.         THE INSTACALC MACRO LANGUAGE
  1295.         ----------------------------
  1296.         In  addition  to the  macro recorder,  InstaCalc  provides a  built in
  1297.         programming language  which provides  additional capabilities  such as
  1298.         windowing,  menu creation,  control  structures, and  printer and  DOS
  1299.         access.
  1300.  
  1301.         An InstaCalc  application  program  simply  consists of  a  text  file
  1302.         containing the  commands which  you would like  InstaCalc to  execute.
  1303.         You may give your program files any valid DOS name,  but the extension
  1304.         must be .MAC (for  example MYPROG.MAC).  Your application  program can
  1305.         consist  of  keystroke  macros,  InstaCalc  Command  Environment (ICE)
  1306.         commands, or both.
  1307.  
  1308.         The InstaCalc Command  Environment also provides the  ability to debug
  1309.         your  macros.   For more details  on ICE  and macros,  see the section
  1310.         titled INSTACALC APPLICATIONS.
  1311.  
  1312.  
  1313.  
  1314.         CUTTING DATA FROM OTHER PROGRAMS
  1315.         --------------------------------
  1316.         When  run as  a TSR,  InstaCalc provides  the ability  to import  data
  1317.         directly from the screen of another program  into the worksheet.  This
  1318.         allows  you to import text and  numbers from your word processor, data
  1319.         base manager, or  any other type of program.   You may import multiple
  1320.         columns off the screen at the same time.
  1321.  
  1322.         When you  are in your application program and you  want to cut data on
  1323.         the screen into InstaCalc:
  1324.  
  1325.         -  Press the  Hot  Key (InstaCalc  must  have been  loaded  before you
  1326.         started up your application program).  This will pop up InstaCalc.
  1327.  
  1328.         -  Move the cell pointer to the cell  where you want the first line of
  1329.         the imported data to be placed.
  1330.  
  1331.         - Press <F7>Cut.  This  will switch the display back to the screen you
  1332.         want to cut from.
  1333.  
  1334.         - Use the  arrow keys to move  the cursor to the upper  left corner of
  1335.         the  block you want to cut, then press  the period key.  This sets the
  1336.         anchor for the block.
  1337.  
  1338.         - Use the arrow  keys to begin marking the block you want to cut.  The
  1339.         block will be highlighted on the screen.
  1340.  
  1341.         - Once you have highlighted  the column you want to cut,  either press
  1342.         <Enter> to cut that column,  or press the period key again  to set the
  1343.         anchor for another column.
  1344.  
  1345.         - If you choose to cut more than one  column off the screen at a time,
  1346.         continue to  set the anchor, highlight the  column, set the anchor for
  1347.         the next  column and  so on.   Once  you have  highlighted all  of the
  1348.         columns you want to cut, press <Enter> to finish cutting the data from
  1349.         the screen.
  1350.  
  1351.  
  1352.  
  1353.                                           18
  1354.  
  1355.  
  1356.         - Pressing <Esc> at any time will cancel the last selection.
  1357.  
  1358.  
  1359.         PASTING DATA TO OTHER PROGRAMS
  1360.         ------------------------------
  1361.         When run as a TSR,  InstaCalc provides the ability to paste  data from
  1362.         the Worksheet directly into another program.  This allows you to paste
  1363.         spreadsheet  data directly into a word  processor document or database
  1364.         record without even having to exit your program.
  1365.  
  1366.         When you want to paste spreadsheet data into another program:
  1367.  
  1368.         - Make  sure the cursor  in the  other program is  where you want  the
  1369.         exported data  to be placed.   If you are pasting into  your editor or
  1370.         word processor, make sure any "auto indent" feature is turned off,  or
  1371.         each line of the pasted data will shift further to the right.
  1372.  
  1373.         -  Press the  Hot  Key (InstaCalc  must have  been  loaded before  you
  1374.         started up your application program).  This will pop up InstaCalc.
  1375.  
  1376.         - Press <F8>Paste.
  1377.  
  1378.         -  Use the arrow keys  to move the cursor to  the upper left corner of
  1379.         the block you want to paste, then press the period key.  This sets the
  1380.         anchor for the block.
  1381.  
  1382.         - Use the arrow  keys to begin  marking the block  you want to  paste.
  1383.         The block will be highlighted on the screen.
  1384.  
  1385.         - Once you have highlighted the block you want to paste, press <Enter>
  1386.         to select that block for pasting.
  1387.  
  1388.         - Select the  key you want each  row terminated with.   You may select
  1389.         <Enter>, <Down>, or <Right>.
  1390.  
  1391.         - Pressing <Esc> at any time will cancel the last selection.
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.                                           19
  1416.  
  1417.  
  1418.         REFERENCE
  1419.         ---------
  1420.  
  1421.         THE FUNCTION KEYS
  1422.         -----------------
  1423.         Several of InstaCalc's commands are assigned to one of the 10 function
  1424.         keys instead  of or in addition  to the command menus.   Several other
  1425.         commands are also assigned to one of the function keys with the <Ctrl>
  1426.         key pressed.  To execute  one of these commands, simply hold  down the
  1427.         <Ctrl> key and then press the appropriate function key.
  1428.  
  1429.         <F1> Help      This key calls up context sensitive help.
  1430.  
  1431.         <F2> Edit      This key allows you to edit the current cell.
  1432.  
  1433.         <F3> Range     This key  calls up a menu of defined range names.  This
  1434.                        key can be used any time you are asked to define a cell
  1435.                        or range.
  1436.  
  1437.         <F4> Absolute  This key  cycles absolute and relative  references when
  1438.                        you are  pointing out  cell references with  the cursor
  1439.                        keys.  If no anchor is set then the first coordinate is
  1440.                        adjusted.  If the  anchor has  been set then  <F4> will
  1441.                        adjust the non-anchor reference.
  1442.  
  1443.         <F5> GoTo      This key allows you to move the cell pointer to another
  1444.                        cell.   You will be asked  for the name of  the cell to
  1445.                        move to.
  1446.  
  1447.         <F6> Search    This key allows you to search for some  text in a cell,
  1448.                        and allows you to move the cell pointer to that cell or
  1449.                        replace the text with other text.
  1450.  
  1451.                        Find           This option allows you to enter the text
  1452.                                       you want to search for.
  1453.  
  1454.                        Replace with   This option allows you to enter the text
  1455.                                       you want to replace the Find text with.
  1456.  
  1457.                        Ignore case    If you  set this option to  No, then the
  1458.                                       Find  text   must  match  text   in  the
  1459.                                       Worksheet  exactly  to  be considered  a
  1460.                                       match.  If this  option is Yes, then the
  1461.                                       Find  text   will  match  text   in  the
  1462.                                       Worksheet  if the letters  are the same,
  1463.                                       even if some are  uppercase and some are
  1464.                                       lower case.
  1465.  
  1466.                        Block          This  option  allows you  to  define the
  1467.                                       range of cells you want to search.  This
  1468.                                       allows you  to limit  your search to  as
  1469.                                       small a range of cells as you want.
  1470.  
  1471.                        Start          This  command  begins  the   search  and
  1472.                                       replace operation.  InstaCalc will begin
  1473.                                       searching through the defined range, and
  1474.                                       will stop  when it  finds a match.   The
  1475.  
  1476.  
  1477.                                           20
  1478.  
  1479.  
  1480.                                       matching cell and  its contents will  be
  1481.                                       displayed, and  you will be asked if you
  1482.                                       want to perform the Replace.   There are
  1483.                                       4 options.
  1484.  
  1485.                                       No   No, don't perform the  replace, but
  1486.                                            continue searching.
  1487.  
  1488.                                       Yes  Yes, perform the replace,  and then
  1489.                                            continue searching.
  1490.  
  1491.                                       All  Yes, perform the  replace on  this,
  1492.                                            and  all  other  matches which  you
  1493.                                            find.   This is a global search and
  1494.                                            replace, and you will not  be asked
  1495.                                            for any further confirmation.
  1496.  
  1497.                                       GoTo No, don't perform the  replace, and
  1498.                                            just  move the cell pointer to this
  1499.                                            new  cell  and  quit   any  further
  1500.                                            searching.
  1501.  
  1502.                                       If you  just want to quit,  then you can
  1503.                                       simply press the <Esc> key.
  1504.  
  1505.         <F7> Cut       This key allows  you to cut data off  the screen of the
  1506.                        program you popped up through (if you started InstaCalc
  1507.                        with the /p  option).  See  the section titled  Cutting
  1508.                        Data From Other Programs.
  1509.  
  1510.         <F8> Paste     This key  allows you to paste data  from InstaCalc into
  1511.                        the  program  you popped  up  through  (if you  started
  1512.                        InstaCalc with the /p option).   See the section titled
  1513.                        Pasting Data To Other Programs.
  1514.  
  1515.         <F9> Recalc    This  key  recalculates  the  entire worksheet.    This
  1516.                        command  is  only  necessary  when you  have  used  the
  1517.                        /Worksheet  Calc Manual  command  to disable  automatic
  1518.                        recalculation.
  1519.  
  1520.         <F10> Graph    This key  displays the  currently defined graph.   This
  1521.                        key is simply a shortcut for the /Graph View command.
  1522.  
  1523.         <^F1> Help     This key brings up the Help Index of the help system.
  1524.  
  1525.         <^F2> Debug    This key  brings up the application  program debug menu
  1526.                        when  you are  single  stepping through  an application
  1527.                        program.  Simply select Edit  from the menu, then  type
  1528.                        in the name of the cell you want to examine.  InstaCalc
  1529.                        will display the current contents of the cell, and will
  1530.                        allow you to modify  those contents if you want.   When
  1531.                        you press  <Enter>,  the InstaCalc  will resume  single
  1532.                        stepping through the application.
  1533.  
  1534.         <^F3> Break    This key breaks out  of a running application.   If you
  1535.                        press this key when  an application program is running,
  1536.                        it will abort  the application  unless the  application
  1537.  
  1538.  
  1539.                                           21
  1540.  
  1541.  
  1542.                        program  has  used   the  #BREAK  command  to   disable
  1543.                        breaking.
  1544.  
  1545.         <^F4> Mark     This key marks the  current cell so that you  can later
  1546.                        return  to it with the <Ctrl><F5> key.  For example, if
  1547.                        you press <Ctrl><F4>  when the cell pointer  is on cell
  1548.                        Q53, then you  can move anywhere  in the worksheet  and
  1549.                        return to  cell Q53  by simply pressing  the <Ctrl><F5>
  1550.                        key.
  1551.  
  1552.         <^F5> ToMark   This  key   returns  to  the  last   cell  marked  with
  1553.                        <Ctrl><F4>.
  1554.  
  1555.         <^F6> Files    This key calls up the File Manager.  You  will be asked
  1556.                        to  enter a mask to tell InstaCalc which files you want
  1557.                        to be displayed.   Pressing <Enter>  will use the  Mask
  1558.                        *.*, which will display all of the files in the current
  1559.                        directory.
  1560.  
  1561.         <^F7> EGA43    This key  toggles 43/50 line mode  on EGA/VGA monitors.
  1562.                        If you have an EGA or VGA monitor, this function allows
  1563.                        you to see twice as many rows on the screen as normal.
  1564.  
  1565.         <^F8> Status   This key displays  a status window.   The status window
  1566.                        lists the  current directory and file  name, the amount
  1567.                        of memory available, the current date and time, and the
  1568.                        current default settings.
  1569.  
  1570.         <^F9> Enter    This key toggles  Enter mode.  This  mode is especially
  1571.                        useful for  repetitive  data entry.   When  you are  in
  1572.                        Enter mode, pressing the <Enter> key to enter data into
  1573.                        a  cell will  enter that  data and  them move  the cell
  1574.                        pointer in the last direction moved.
  1575.  
  1576.         <^F10> Learn   This  key turns  the macro  recorder on  and off.   The
  1577.                        macro  recorder  allows you  to  assign  a sequence  of
  1578.                        keystrokes to  a single  key, and  when you press  that
  1579.                        single  key,  it  will  automatically  play   back  the
  1580.                        keystroke sequence for you.
  1581.  
  1582.                        If  a  macro already  exists for  the  key you  want to
  1583.                        record   to,  InstaCalc  will   provide  the  following
  1584.                        options:
  1585.  
  1586.                        Replace   Replace the existing macro with this new one.
  1587.                        Edit      Edit the existing macro.
  1588.                        Cancel    Cancel this operation.
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.                                           22
  1602.  
  1603.  
  1604.         INSTACALC COMMAND MENUS
  1605.         -----------------------
  1606.         When you  want to execute a  command in InstaCalc, it  will usually be
  1607.         through InstaCalc's menu system.  To bring up InstaCalc's menu system,
  1608.         you simply press the / key  (or press the left button on  your mouse).
  1609.         This section provides a description of each menu command.
  1610.  
  1611.  
  1612.         ---------------------------------------------------------------------
  1613.         /Cell Format
  1614.         ---------------------------------------------------------------------
  1615.         This command allows you to  modify the display of the current  cell by
  1616.         setting its format.  If the value  using the format you select is  too
  1617.         long to  fit into the cell's  assigned width, a row  of asterisks will
  1618.         appear.
  1619.  
  1620.         Options:  General,  Currency,  Fixed,  Percent,  Science, Time,  Date,
  1621.         Hidden, Label, Reset
  1622.  
  1623.  
  1624.         ---------------------------------------------------------------------
  1625.         /Cell Width
  1626.         ---------------------------------------------------------------------
  1627.         This command  allows you to  make the  column the cell  pointer is  in
  1628.         wider or narrower (or even hide it).
  1629.  
  1630.         Set       The set  option allows you to change the width.  You will be
  1631.                   asked how wide the column should be.  You may either enter a
  1632.                   number, or use  the arrow keys to change the  width.  <Left>
  1633.                   will narrow the column, and <Right> will widen the column.
  1634.  
  1635.         Reset     Resets  the  column the  cell pointer  is  in to  the global
  1636.                   width.
  1637.  
  1638.  
  1639.         ---------------------------------------------------------------------
  1640.         /Cell Erase
  1641.         ---------------------------------------------------------------------
  1642.         This command erases the contents  of the current cell.  The  cell will
  1643.         retain its formatting.
  1644.  
  1645.  
  1646.  
  1647.         ---------------------------------------------------------------------
  1648.         /Cell Justify
  1649.         ---------------------------------------------------------------------
  1650.         This  command allows you to change  the way text strings are displayed
  1651.         in the  cell which  the cell  pointer is  in.  The  command has  three
  1652.         options:
  1653.  
  1654.         Left      Justifies text in  the current cell to the left  edge of the
  1655.                   cell.  When a label is entered, it  will appear beginning in
  1656.                   the leftmost character of the cell.
  1657.  
  1658.         Right     Justifies text in  the current cell to the right edge of the
  1659.                   cell.  When  a label is entered, it will  appear flush right
  1660.                   in the cell.
  1661.  
  1662.  
  1663.                                           23
  1664.  
  1665.  
  1666.         Center    Justifies  text in  the current  cell to  the center  of the
  1667.                   cell.  When a  label is entered, it will appear  centered in
  1668.                   the cell.
  1669.  
  1670.  
  1671.  
  1672.         ---------------------------------------------------------------------
  1673.         /Cell Copy
  1674.         ---------------------------------------------------------------------
  1675.         This command copies the contents of the cell that the  cell pointer is
  1676.         in to another cell or range of cells.  You will be asked to define the
  1677.         cell or range of  cells you want to copy to.  If  you copy the cell to
  1678.         more than  one cell, an  individual copy will  be made in each  of the
  1679.         destination cell.  If the source cell contains a formula, all relative
  1680.         references will be adjusted when the formula is copied.
  1681.  
  1682.  
  1683.  
  1684.         ---------------------------------------------------------------------
  1685.         /Cell Move
  1686.         ---------------------------------------------------------------------
  1687.         This  command moves the contents of the  cell that the cell pointer is
  1688.         in  to  a  different location.    You  will  be  asked to  define  the
  1689.         destination cell.   If the current cell  contains a formula, then  the
  1690.         references will be adjusted to point to the same data.   References in
  1691.         other cells  which refer to  the moved cell  will also be  adjusted so
  1692.         that they continue to point to the same data.
  1693.  
  1694.  
  1695.  
  1696.         ---------------------------------------------------------------------
  1697.         /Cell Protect
  1698.         ---------------------------------------------------------------------
  1699.         This  command allows the current cell to be protected against changes.
  1700.         If, for  example, the  cell contains  a formula that  you do  not want
  1701.         changed, use the /Cell  Protect Yes command to guard  against changes.
  1702.         If  you thereafter want to edit or  change that formula, use the /Cell
  1703.         Protect  No  command to  unprotect the  cell.    The  default mode  is
  1704.         "protected."
  1705.  
  1706.         A protected cell may  still be modified until Worksheet  protection is
  1707.         enabled  using  the  /Worksheet  Protect Enable  command.    Worksheet
  1708.         Protect  is  much  like  a  "master  switch"  which  turns  protection
  1709.         capabilities on and off for the entire Worksheet.
  1710.  
  1711.         Yes  Enables protection on the current cell.
  1712.         No   Disables protection on the current cell.
  1713.  
  1714.  
  1715.  
  1716.  
  1717.         ---------------------------------------------------------------------
  1718.         /Range Format
  1719.         ---------------------------------------------------------------------
  1720.         This command  allows you to choose the best format  for the cells in a
  1721.         range.  You  will be asked  to define the range  of cells you  want to
  1722.         change the format of.
  1723.  
  1724.  
  1725.                                           24
  1726.  
  1727.  
  1728.         Options:  General,  Currency,  Fixed,  Percent, Science,  Time,  Date,
  1729.         Hidden, Label, Reset
  1730.  
  1731.  
  1732.  
  1733.         ---------------------------------------------------------------------
  1734.         /Range Width
  1735.         ---------------------------------------------------------------------
  1736.         This command allows you to make several columns wider or  narrower (or
  1737.         even hide them).  You will be asked to  define the range of columns to
  1738.         widen or narrow.
  1739.  
  1740.         Set       The set option  allows you  to change the  width of  several
  1741.                   columns at the same time.  You may either enter a number, or
  1742.                   use the arrow keys to change the width.  <Left> will  narrow
  1743.                   the column, and <Right> will widen the column.
  1744.  
  1745.         Reset     Resets the columns in the range to the global width.
  1746.  
  1747.  
  1748.         ---------------------------------------------------------------------
  1749.         /Range Erase
  1750.         ---------------------------------------------------------------------
  1751.         This command  erases the contents  of a range  of cells.   You will be
  1752.         asked to define the range of cells you want to erase.
  1753.  
  1754.  
  1755.  
  1756.  
  1757.         ---------------------------------------------------------------------
  1758.         /Range Justify
  1759.         ---------------------------------------------------------------------
  1760.         This command allows you to change  the way text strings are  displayed
  1761.         in each cell  in a range.   You will be asked  to define the range  of
  1762.         cells you want to change.
  1763.  
  1764.         Left      Justifies text in each cell of the range to the left edge of
  1765.                   the cell.  When a label is entered, it will appear beginning
  1766.                   in the leftmost character of the cell.
  1767.  
  1768.         Right     Justifies text in each cell  of the range to the right  edge
  1769.                   of the  cell.  When a label is entered, it will appear flush
  1770.                   right in the cell.
  1771.  
  1772.         Center    Justifies text  in each cell of  the range to the  center of
  1773.                   the cell.  When a label is  entered, it will appear centered
  1774.                   in the cell.
  1775.  
  1776.  
  1777.  
  1778.         ---------------------------------------------------------------------
  1779.         /Range Copy
  1780.         ---------------------------------------------------------------------
  1781.         This  command copies  the  contents of  a  range of  cells  to another
  1782.         location.   You will  first be asked  to define  the cell or  range of
  1783.         cells you want to copy (source  range), and then the location you want
  1784.         to copy to (destination).   If the destination you define is  a single
  1785.  
  1786.  
  1787.                                           25
  1788.  
  1789.  
  1790.         cell,  the source range will be copied  starting at that location.  If
  1791.         the destination contains more than one cell,  the source range will be
  1792.         copied to  each cell in  the destination  range.  This  is useful  for
  1793.         copying a  range of cells to  several adjacent locations at  once.  If
  1794.         any of the  source cells  contain a formula,  all relative  references
  1795.         will be adjusted when the formula is copied.
  1796.  
  1797.  
  1798.  
  1799.         ---------------------------------------------------------------------
  1800.         /Range Move
  1801.         ---------------------------------------------------------------------
  1802.         This command moves  the contents of  a range of  cells to a  different
  1803.         location.  You will  be asked to  first define the  range of cells  to
  1804.         move (source range), and then the destination.  If any of the cells in
  1805.         the  source  range contains  a formula,  then  the references  will be
  1806.         adjusted to continue  to point to the same data.   References in other
  1807.         cells which refer to the moved cell will also be adjusted so that they
  1808.         continue to point to the same data.
  1809.  
  1810.         When you define the destination, you only need to supply a single cell
  1811.         address; the source range will be copied with the upper left corner in
  1812.         the destination cell.
  1813.  
  1814.  
  1815.         ---------------------------------------------------------------------
  1816.         /Range Name
  1817.         ---------------------------------------------------------------------
  1818.         This  command allows you to give  a name to a cell  or range of cells.
  1819.         This  name can  then be  used anywhere  that a  cell address  or range
  1820.         reference  can be  used by  either typing  in the  range's name  or by
  1821.         pressing the <F3> Range key and selecting the name from a menu.
  1822.  
  1823.         Create    Allows  you to name the cell or  range.  When this option is
  1824.                   selected, you are  asked what you want  to name the cell  or
  1825.                   range.   The name must  begin with a letter  of the alphabet
  1826.                   and can be  up to 8 characters long.  You  are then asked to
  1827.                   define the range to name  by typing in the range  address or
  1828.                   by pointing out the range with the cursor keys.
  1829.  
  1830.         Delete    Releases the  range name which  is associated with  a range.
  1831.                   You will be asked to type in the name to delete.
  1832.  
  1833.         Reset     Deletes all range names.
  1834.  
  1835.         List      Causes  a list of the current range  names to appear.  Up to
  1836.                   16 names will be displayed at a time.  Use <PgUp> and <PgDn>
  1837.                   to see more names.
  1838.  
  1839.  
  1840.  
  1841.         ---------------------------------------------------------------------
  1842.         /Range Protect
  1843.         ---------------------------------------------------------------------
  1844.         This command allows you to protect a range of cells.  If, for example,
  1845.         the range  contains formulas  that you  do not  want changed,  use the
  1846.         /Range  Protect  Yes  command  to  guard  against  changes.    If  you
  1847.  
  1848.  
  1849.                                           26
  1850.  
  1851.  
  1852.         thereafter want to edit or  change a cell in the range, use  the /Cell
  1853.         Protect  No  command to  unprotect the  cell.    The  default mode  is
  1854.         "protected."
  1855.  
  1856.         A protected cell may  still be modified until Worksheet  protection is
  1857.         enabled  using  the  /Worksheet  Protect Enable  command.    Worksheet
  1858.         Protect  is  much  like  a  "master  switch"  which  turns  protection
  1859.         capabilities on and off for the entire Worksheet.
  1860.  
  1861.         You will be asked to define the range you want to protect.
  1862.  
  1863.         Yes  Enables protection on the selected range.
  1864.         No   Disables protection on the selected range.
  1865.  
  1866.  
  1867.         ---------------------------------------------------------------------
  1868.         /Worksheet Format
  1869.         ---------------------------------------------------------------------
  1870.         This command  allows  you to  choose a  global format  for the  entire
  1871.         Worksheet.
  1872.  
  1873.         Options:  General,  Currency,  Fixed,  Percent, Science,  Time,  Date,
  1874.         Hidden, Label
  1875.  
  1876.  
  1877.         ---------------------------------------------------------------------
  1878.         /Worksheet Width
  1879.         ---------------------------------------------------------------------
  1880.         This command allows you to set the default width of all columns in the
  1881.         Worksheet.  You will be prompted to enter the new global column width.
  1882.         You  may either enter  a number, or  use the arrow keys  to change the
  1883.         width.   <Left>  will narrow  the column, and  <Right> will  widen the
  1884.         column.
  1885.  
  1886.  
  1887.  
  1888.         ---------------------------------------------------------------------
  1889.         /Worksheet Erase
  1890.         ---------------------------------------------------------------------
  1891.         This command erases the current Worksheet's contents entirely.  All of
  1892.         the  Worksheet settings are  restored to their defaults.   You will be
  1893.         asked to confirm whether you really want to erase the worksheet.
  1894.  
  1895.         Yes  Erase the Worksheet from memory.
  1896.         No   Don't erase the Worksheet from memory.
  1897.  
  1898.  
  1899.  
  1900.         ---------------------------------------------------------------------
  1901.         /Worksheet Justify
  1902.         ---------------------------------------------------------------------
  1903.         This command allows you to  change the way text strings are  displayed
  1904.         in each  cell of the Worksheet.  This command will not change they way
  1905.         existing  text cells  are  justified.   It  only determines  how  text
  1906.         entered  in the  future will  be  displayed.   The  command has  three
  1907.         options:
  1908.  
  1909.  
  1910.  
  1911.                                           27
  1912.  
  1913.  
  1914.         Left      Justifies text in cells to the left edge of the  cell.  When
  1915.                   a label is entered, it will appear beginning in the leftmost
  1916.                   character of the cell.
  1917.  
  1918.         Right     Justifies text in cells to the right edge of the cell.  When
  1919.                   a label is entered, it will appear flush right in the cell.
  1920.  
  1921.         Center    Justifies text in  cells to the center of the  cell.  When a
  1922.                   label is entered, it will appear centered in the cell.
  1923.  
  1924.  
  1925.         ---------------------------------------------------------------------
  1926.         /Worksheet Ins Column
  1927.         ---------------------------------------------------------------------
  1928.         This  command inserts one  or more blank  columns at the  current cell
  1929.         pointer position.  The current column and all the columns to the right
  1930.         will be  shifted right to make  room for the blank  columns.  Relative
  1931.         references in  formulas  will  be  updated  by  the  change;  absolute
  1932.         references  will remain unchanged.   You will be  asked how many blank
  1933.         columns you want to  insert.  Use the arrow keys  to highlight how may
  1934.         columns  should be  inserted.   If  you  highlight 2  columns,  then 2
  1935.         columns will be inserted.
  1936.  
  1937.  
  1938.         ---------------------------------------------------------------------
  1939.         /Worksheet Insert Row
  1940.         ---------------------------------------------------------------------
  1941.         This  command  inserts one  or more  blank  rows at  the  current cell
  1942.         pointer position.   The  current row  and all the  rows below  will be
  1943.         shifted down  to make room for the blank rows.  Relative references in
  1944.         formulas  will  be updated  by  the change;  absolute  references will
  1945.         remain unchanged.  You  will be asked how many blank rows  you want to
  1946.         insert.   Use  the arrow  keys to  highlight the  number of  rows that
  1947.         should  be inserted.   If you  highlight 3  rows, then 3  rows will be
  1948.         inserted.
  1949.  
  1950.  
  1951.  
  1952.         ---------------------------------------------------------------------
  1953.         /Worksheet Del Column
  1954.         ---------------------------------------------------------------------
  1955.         This command  deletes one or more columns  at the current cell pointer
  1956.         position.  The contents of the deleted columns will be erased, and all
  1957.         of the  columns  to the  right will  be shifted  left to  fill in  the
  1958.         deleted columns.  Relative  references in formulas will be  updated by
  1959.         the  change; absolute references will remain unchanged.  Use the arrow
  1960.         keys to highlight the columns that should be deleted.
  1961.  
  1962.  
  1963.         ---------------------------------------------------------------------
  1964.         /Worksheet Del Row
  1965.         ---------------------------------------------------------------------
  1966.         This  command deletes  one or more  rows at  the current  cell pointer
  1967.         position.  The contents of the deleted rows will be erased, and all of
  1968.         the  rows  below will  be  shifted up  to  fill in  the  deleted rows.
  1969.         Relative  references  in  formulas  will be  updated  by  the  change;
  1970.         absolute  references will  remain unchanged.   Use  the arrow  keys to
  1971.  
  1972.  
  1973.                                           28
  1974.  
  1975.  
  1976.         highlight the rows that should be deleted.
  1977.  
  1978.         ---------------------------------------------------------------------
  1979.         /Worksheet Title
  1980.         ---------------------------------------------------------------------
  1981.         This command  allows you to lock (or hold) rows and columns on screen.
  1982.         The command acts as a toggle; invoking it a first time turns the title
  1983.         locking ON, and invoking it a second time turns the title locking OFF.
  1984.         With title locking ON, the rows above the current cell and the columns
  1985.         to the left of the  current cell will be  locked on screen.  The  cell
  1986.         pointer will not move into the locked title rows and columns.  
  1987.  
  1988.         ---------------------------------------------------------------------
  1989.         /Worksheet Protect
  1990.         ---------------------------------------------------------------------
  1991.         This  command  enables or  disables the  protection in  the Worksheet.
  1992.         When the Worksheet protection  is disabled, any cell in  the Worksheet
  1993.         may be modified,  regardless of whether the cell is  protected or not.
  1994.         When the  Worksheet  protection  is enabled,  those  cells  which  are
  1995.         protected  using  the cell  or range  protection  commands may  not be
  1996.         modified or altered in any way.
  1997.  
  1998.         Enable    Turns Worksheet protection on.
  1999.         Disable   Turns Worksheet protection off.
  2000.  
  2001.  
  2002.         ---------------------------------------------------------------------
  2003.         /Worksheet Zero
  2004.         ---------------------------------------------------------------------
  2005.         This  command allows you  to suppress the  display of  all cells which
  2006.         have a value of zero.
  2007.  
  2008.         No   Don't suppress the display of zeros.
  2009.         Yes  Suppress the display of zeros.
  2010.  
  2011.  
  2012.         ---------------------------------------------------------------------
  2013.         /Worksheet Calc
  2014.         ---------------------------------------------------------------------
  2015.         This command allows you to select whether InstaCalc should recalculate
  2016.         the Worksheet after any cell is  changed, or only when the <F9> Recalc
  2017.         key is pressed.
  2018.  
  2019.         Auto      Recalculate  the cells  which need  recalculation  after any
  2020.                   cell is changed.
  2021.  
  2022.         Manual    Only recalculate the  worksheet when the <F9>  Recalc key is
  2023.                   pressed.   Since  the recalculation  state of  the worksheet
  2024.                   will usually  not be current, InstaCalc will  write the word
  2025.                   CALC in the upper  right corner when the worksheet  needs to
  2026.                   be recalculated.
  2027.  
  2028.         Limited   Allows you to limit recalculation to a range of cells.   You
  2029.                   will  be asked to define  a range (or  range) of cells which
  2030.                   should be recalculated instead of the entire worksheet.
  2031.  
  2032.         Full      Restores recalculation to the entire worksheet.
  2033.  
  2034.  
  2035.                                           29
  2036.  
  2037.  
  2038.  
  2039.         ---------------------------------------------------------------------
  2040.         /File Retrieve
  2041.         ---------------------------------------------------------------------
  2042.         This command  retrieves a  file from  disk into memory.   You  will be
  2043.         asked for the name of the file  to retrieve.  If you press the <Enter>
  2044.         key without a file name, the  InstaCalc file manager will appear, from
  2045.         which you may select a file with the cursor keys.  When a file is read
  2046.         in, all  of the data, settings, and  current face and pointer position
  2047.         are loaded.
  2048.  
  2049.         All  current  data will  be cleared  from memory  when  a new  file is
  2050.         loaded.  InstaCalc checks to see if  you have made any changes to  the
  2051.         current  file, and  will ask  if  you want  to save  your data  before
  2052.         loading the new file.
  2053.  
  2054.         If the  file was saved with  a password (encrypted), then  you will be
  2055.         asked to enter the password  to unlock it.   If you provide the  wrong
  2056.         password, an  error  message will  appear  and the  file will  not  be
  2057.         retrieved into memory.
  2058.  
  2059.  
  2060.  
  2061.         ---------------------------------------------------------------------
  2062.         /File Save
  2063.         ---------------------------------------------------------------------
  2064.         This  command  asks you  for a  name to  save  the Worksheet  as, then
  2065.         proceeds  to save the file to disk  in the current directory. Pressing
  2066.         the  <Enter> key  without a  file name  brings up  the InstaCalc  File
  2067.         Manager,  from which a file may be  selected with the cursor keys.  In
  2068.         addition to data, all of the Worksheet settings are saved to disk.
  2069.  
  2070.         If the file  name you provide already exists in the current directory,
  2071.         InstaCalc  will ask  you whether  you want  to overwrite  the existing
  2072.         file, or  back it  up.   If you  select Backup, the  extension of  the
  2073.         existing  file's name  will  be changed  from  .INS to  .BAK, and  the
  2074.         current file will receive the .INS extension.
  2075.  
  2076.  
  2077.         ---------------------------------------------------------------------
  2078.         /File Directory
  2079.         ---------------------------------------------------------------------
  2080.         This command allows you to change the current directory or drive.  You
  2081.         may enter either a full DOS  pathname or simply a subdirectory name to
  2082.         be  appended to  the  current directory.    Pressing the  <Enter>  key
  2083.         without a file name brings up the InstaCalc File Manager, from which a
  2084.         directory may be selected with the cursor keys.
  2085.  
  2086.         ---------------------------------------------------------------------
  2087.         /File Files
  2088.         ---------------------------------------------------------------------
  2089.         This  command presents  a File  Manager, and  allows "point-and-shoot"
  2090.         operations on files, directories, and drives.
  2091.  
  2092.         You will be asked to enter a mask.   A mask is simply a way of telling
  2093.         InstaCalc  which files  you want  to be  displayed.   You may  use the
  2094.         asterisk  *  in the  mask.    The  asterisk  will  match  any  set  of
  2095.  
  2096.  
  2097.                                           30
  2098.  
  2099.  
  2100.         characters.   For example, if you enter  the mask *.BAK, then the file
  2101.         manager will list every file which ends with .BAK.
  2102.  
  2103.         <Up> <Down>    Using these  keys, you can highlight  files, drives, or
  2104.                        directories (depending on what area of the file manager
  2105.                        the highlighted  bar is  in).   Operations can  then be
  2106.                        performed on the selected file, drive, or directory.
  2107.  
  2108.         <Left> <Right> Allows  you to  change files,  drives,  or directories.
  2109.                        If,  for  example,  the   highlighted  bar  is  in  the
  2110.                        "Directory" section of the file manager, and you wanted
  2111.                        to change drives, hitting the left arrow  key will move
  2112.                        the bar into the  "Drive" section.  A new drive  may be
  2113.                        selected by using the down arrow and Enter keys.
  2114.  
  2115.         <Enter>        Causes the highlighted file, drive, or directory  to be
  2116.                        selected.
  2117.  
  2118.         <F1>           Causes a Help screen  to appear, giving help on  how to
  2119.                        use the File Manager.
  2120.  
  2121.         <F2>           Causes the currently highlighted file to be loaded.
  2122.  
  2123.         <F3>           Causes the highlighted  file to be combined.   For more
  2124.                        details see /File Combine.
  2125.  
  2126.         <F4>           Causes the highlighted  file to be imported.   For more
  2127.                        details see /File Import.
  2128.  
  2129.         <F5>           Allows you to edit the contents of the highlighted text
  2130.                        file.   Although the macro editor will be used, you are
  2131.                        not limited  to editing just  macro (.MAC) files.   See
  2132.                        /Macro Edit  for details on the  options available when
  2133.                        editing.
  2134.  
  2135.         <F6>           Causes the highlighted  text file to be printed.   This
  2136.                        function  is primarily  for  printing  out  application
  2137.                        programs.
  2138.  
  2139.         <F7>           Causes  the highlighted file to run, if it is a program
  2140.                        or batch file, and if enough memory is available.
  2141.  
  2142.         <F8>           Allows you to rename the highlighted file.  You will be
  2143.                        prompted for a new name.
  2144.  
  2145.         <F9>           Copies   the   highlighted  file   to   another  drive,
  2146.                        directory, or name.   You  will be prompted  for a  new
  2147.                        drive, directory, or name.
  2148.  
  2149.         <F10>          Deletes the highlighted  file.  InstaCalc will  request
  2150.                        confirmation before actually deleting the file.
  2151.  
  2152.         <Ctrl><F2>     Scans the current drive to update the directory tree.
  2153.  
  2154.         The  File Manager  also simplifies  the tasks  of changing  drives and
  2155.         directories.   To change to another directory, simply press the <Left>
  2156.         key to highlight the word  DIRECTORIES at the top of the  screen, then
  2157.  
  2158.  
  2159.                                           31
  2160.  
  2161.  
  2162.         use the  <Up> and <Down> keys  to highlight the name  of the directory
  2163.         you  want to  change to.    Once the  name is  highlighted, press  the
  2164.         <Enter>  key and InstaCalc will change  to that directory and list the
  2165.         files in that directory.
  2166.  
  2167.         Changing drives  is just as easy.   Simply press the  <Left> key until
  2168.         the word DRV is  highlighted at the top of the  screen, then press the
  2169.         letter of the drive you  want to change to.  For example,  if you want
  2170.         to change to drive A:, then just press A.
  2171.  
  2172.  
  2173.         ---------------------------------------------------------------------
  2174.         /File Combine
  2175.         ---------------------------------------------------------------------
  2176.         This  command allows  you to  combine several  InstaCalc files  into a
  2177.         single file.  You  will be asked for the  name of the file to  be read
  2178.         in,  and the  file  will be  loaded  without clearing  the  Worksheet.
  2179.         Pressing the <Enter>  key without a file name brings  up the InstaCalc
  2180.         File Manager, from which a file may be selected with  the cursor keys.
  2181.         The  original cells will remain unchanged unless the new file contains
  2182.         data  in the same cells.  Blank cells  in the new file will not affect
  2183.         existing cells in the  Worksheet.  Current Worksheet settings  will be
  2184.         retained.
  2185.  
  2186.         Copy      The  data in the new file  will be combined into the current
  2187.                   Worksheet.   If  the  new  file and  the  current  Worksheet
  2188.                   contain any  data in the same cell, the data in the new file
  2189.                   will be copied over the data already in memory.
  2190.  
  2191.         Add       The data in the new  file will be combined into the  current
  2192.                   Worksheet.   If  the  new  file  and the  current  Worksheet
  2193.                   contain values in the  same cell, the value in  the new file
  2194.                   will be added  to the value already  in memory.   Since this
  2195.                   command  is primarily  for consolidating  data from  several
  2196.                   worksheets, cells containing text  will not be combined into
  2197.                   the current file.
  2198.  
  2199.         Subtract  The data in the new  file will be combined into  the current
  2200.                   Worksheet.    If  the  new file  and  the  current Worksheet
  2201.                   contain values in  the same cell, the value in  the new file
  2202.                   will  be subtracted from the value already in memory.  Since
  2203.                   this  command  is  primarily  for  consolidating  data  from
  2204.                   several  worksheets,  cells  containing  text  will  not  be
  2205.                   combined into the current file.
  2206.  
  2207.         Each of these options  has two suboptions which determine how  much of
  2208.         the new file should be combined in.
  2209.  
  2210.         All  Combines in the entire file.  Every cell  in the new file will be
  2211.              combined  into the same location  in the current  Worksheet.  For
  2212.              example, cell X23  will be combined into cell X23  in the current
  2213.              worksheet.
  2214.  
  2215.         Part Combines in a  range from the file.   The cells in  the range you
  2216.              combine in will  be combined starting at the location of the cell
  2217.              pointer.  For example, if the cell pointer is in cell D5, and you
  2218.              combine in the range A1..D12 from the other file, then cell A1 in
  2219.  
  2220.  
  2221.                                           32
  2222.  
  2223.  
  2224.              the  new file  will  be  combined into  cell  D5  in the  current
  2225.              worksheet.
  2226.  
  2227.              You will be asked  for the range in the other file which you want
  2228.              to combine in.
  2229.  
  2230.              If the range  you want to  combine in was  named with the  /Range
  2231.              Name command, you can press the <F3> Range key to bring up a menu
  2232.              of all the named ranges in the other file.
  2233.  
  2234.  
  2235.  
  2236.         ---------------------------------------------------------------------
  2237.         /File Xtract
  2238.         ---------------------------------------------------------------------
  2239.         This command  is similar  to the  /File Save command,  except that  it
  2240.         saves a range of  cells rather than the entire Worksheet.  You will be
  2241.         asked for the name  of the file to save to, and to define the range of
  2242.         cells to save.  InstaCalc saves all of the Worksheet settings with the
  2243.         saved range.
  2244.  
  2245.  
  2246.         ---------------------------------------------------------------------
  2247.         /File Import
  2248.         ---------------------------------------------------------------------
  2249.         This command  imports data files  from other programs  into InstaCalc.
  2250.         You will  be asked  for the  name of  the  file to  import.   Pressing
  2251.         <Enter> without a file name brings up the InstaCalc File Manager, from
  2252.         which a file may be selected with the cursor keys.
  2253.  
  2254.         1-2-3     Imports  a Lotus 1-2-3 (tm) file.  If InstaCalc encounters a
  2255.                   formula which  uses an  unsupported @function, it  will read
  2256.                   the value of the formula rather than the formula itself.
  2257.  
  2258.         dBase     Imports selected  records from a  dBase (tm)  file.   Fields
  2259.                   will appear  as columns,  and records will  appear as  rows.
  2260.                   You do  not have  to import every  field of  the data  base.
  2261.                   Before the  import begins,  InstaCalc will step  through the
  2262.                   names  of each  field and  ask if  you want  to  import that
  2263.                   field.  You may select:
  2264.  
  2265.                   Yes  Import this field.
  2266.                   No   Don't import this field.
  2267.                   All  Import this and all the remaining fields.
  2268.  
  2269.                   You will then be asked to enter a criteria.  The criteria is
  2270.                   a string  which tells  InstaCalc which  records you  want to
  2271.                   import.   The criteria  can be  any valid  InstaCalc formula
  2272.                   which returns a TRUE or FALSE value.  The criteria may treat
  2273.                   any of the dBase field names  as if they were range names in
  2274.                   the formula.   The criteria  can use any  of the  comparison
  2275.                   operators (=,<>,<=, etc) or logical operators (&,|, or ~).
  2276.  
  2277.                   If  you  press <Enter>  without  entering  a criteria,  then
  2278.                   InstaCalc  will import every record  from the dBase file (if
  2279.                   there is enough memory to hold them).
  2280.  
  2281.  
  2282.  
  2283.                                           33
  2284.  
  2285.  
  2286.                   Some example criteria are:
  2287.  
  2288.                   STATE="Utah"
  2289.                   All records where the STATE field contains Utah
  2290.  
  2291.                   The only limitation to the criteria is that you may only use
  2292.                   the names of fields  which you are actually importing.   For
  2293.                   example, if  you select No  when asked  if InstaCalc  should
  2294.                   import the field called STATE, then you may not use STATE in
  2295.                   your criteria.
  2296.  
  2297.         DIF       Imports  a  Data  Interchange   Format  (DIF)  file.    Many
  2298.                   databases  and  spreadsheets  are capable  of  creating  DIF
  2299.                   files.
  2300.  
  2301.         ASCII     Imports  a comma  delimited or  space delimited  ASCII file.
  2302.                   Each line in  the ASCII file will be imported  into a row in
  2303.                   the  worksheet.    Each  line may  contain  multiple  fields
  2304.                   (cells) of data, each of which must be  separated by a comma
  2305.                   or space.  If a string which contains spaces or commas is to
  2306.                   be imported into  a single  cell, then that  string must  be
  2307.                   surrounded by quotation marks "like this".
  2308.  
  2309.  
  2310.  
  2311.         ---------------------------------------------------------------------
  2312.         /File Export
  2313.         ---------------------------------------------------------------------
  2314.         This command  exports a range of  cells to the file  format of another
  2315.         program.   You will be asked for the file  name you want to export to,
  2316.         and to define the range of cells you want to export.  If the file name
  2317.         you  provide exists, InstaCalc will  ask you if  you want to Overwrite
  2318.         the existing file or Cancel the operation.
  2319.  
  2320.         1-2-3     This option allows  you to export  the range  to a 1-2-3  R1
  2321.                   (WKS) or R2 (WK1) file.   You must select from a  menu which
  2322.                   version  you want to export to.  Any InstaCalc formula which
  2323.                   contains an  @function which  1-2-3 doesn't support  will be
  2324.                   exported as a value rather than a formula.
  2325.  
  2326.         dBase     This  option allows you  to export the range  to a dBase II,
  2327.                   III,  or  III+ file.    You must  select  from a  menu which
  2328.                   version you want to export to.
  2329.  
  2330.                   InstaCalc will  use the top row  of the range you  define as
  2331.                   the field names for the data to be exported.   The widths of
  2332.                   each column  will be used  as the field  width in  the dBase
  2333.                   file.
  2334.  
  2335.                   Before the  actual export is performed,  InstaCalc will step
  2336.                   through each  field name and ask  you what type of  field it
  2337.                   should be.  The available field types are:
  2338.  
  2339.                   Character The values in the field are text.
  2340.                   Number    The values in the field are numbers.
  2341.                   Logical   The values in the field are TRUE or FALSE.
  2342.                   Date      The values in the field are dates.  This option is
  2343.  
  2344.  
  2345.                                           34
  2346.  
  2347.  
  2348.                             available  only when  you export  to dBase  III or
  2349.                             III+.
  2350.  
  2351.         DIF       The  file  will be  exported  in the  DIF  (Data Interchange
  2352.                   Format) format.
  2353.  
  2354.         ASCII     The file will be  exported to a comma delimited  ASCII file.
  2355.                   Each row  of the  range will  be on a  separate line  of the
  2356.                   ASCII file,  and the value of  each cell in the  row will be
  2357.                   separated  by a  comma.   Text items  will be  surrounded by
  2358.                   quotes ".
  2359.  
  2360.  
  2361.         ---------------------------------------------------------------------
  2362.         /File Link
  2363.         ---------------------------------------------------------------------
  2364.         This command allows you  to link multiple spreadsheets together.   You
  2365.         are not limited  to linking a single cell.  You  may link to an entire
  2366.         range within another spreadsheet.
  2367.  
  2368.         The current  cell will contain the link.   If you change  the value of
  2369.         the  cell in  the  other spreadsheet,  this  "link cell"  will  change
  2370.         accordingly.
  2371.  
  2372.         If  you create a link  to a range  of cells in another  file, the link
  2373.         cell will take  on the same value as the cell in the upper left corner
  2374.         of the range in the other file.   The cells to the right of and  below
  2375.         the link cell will take on the values of corresponding  cells from the
  2376.         other file.
  2377.  
  2378.         If a change is made to any of the linked cells in the other worksheet,
  2379.         the current worksheet will be updated to reflect those changes.
  2380.  
  2381.         Each time you retrieve a file which is linked to other files, you will
  2382.         be asked if you  want to update all of  the links.  If you  select Yes
  2383.         then InstaCalc will update every  link in the file.  If  you select No
  2384.         then InstaCalc will not update any of the links in the file.
  2385.  
  2386.         Create    Create or edit  a link  to another worksheet.   You will  be
  2387.                   asked for two items.
  2388.  
  2389.                   -  The name of the file you want  to link to.  The file must
  2390.                   already be in existence.
  2391.  
  2392.                   - The name of the range you want to link to.
  2393.  
  2394.         Delete    Delete an existing link to another worksheet.
  2395.  
  2396.         List      List all of the links in the current Worksheet.
  2397.  
  2398.         Edit      Allows you to edit an existing link to another file.
  2399.  
  2400.         Update    Allows you to update a link to another file.
  2401.  
  2402.  
  2403.  
  2404.         ---------------------------------------------------------------------
  2405.  
  2406.  
  2407.                                           35
  2408.  
  2409.  
  2410.         /Print Block
  2411.         ---------------------------------------------------------------------
  2412.         This command allows you to define a range to print.  You will be asked
  2413.         to define  the range to be  printed.  The  range will not  actually be
  2414.         printed until the /Print Go command is issued.
  2415.  
  2416.  
  2417.  
  2418.         ---------------------------------------------------------------------
  2419.         /Print Rows
  2420.         ---------------------------------------------------------------------
  2421.         This  command allows  you to  define one  or more  rows which  will be
  2422.         printed above your data on each page.  This command is useful when you
  2423.         are printing a range  which has more  rows than will  fit on a  single
  2424.         sheet  of paper; it allows you to have a row of header data printed at
  2425.         the top of each page.
  2426.  
  2427.  
  2428.         ---------------------------------------------------------------------
  2429.         /Print Columns
  2430.         ---------------------------------------------------------------------
  2431.         This command  allows you to define  one or more columns  which will be
  2432.         printed to the left of your data on each page.  This command is useful
  2433.         when you are printing a range which has more columns than will fit  on
  2434.         a single  sheet of paper;  it allows you  to have  a column of  titles
  2435.         printed at the left of each page.
  2436.  
  2437.  
  2438.  
  2439.         ---------------------------------------------------------------------
  2440.         /Print Undefine
  2441.         ---------------------------------------------------------------------
  2442.         Since  InstaCalc  remembers  which  range  you  printed  last,  it  is
  2443.         sometimes necessary to reset the /Print Block setting.  When doing so,
  2444.         it is usually easiest to clear the  previous block setting entirely by
  2445.         using the /Print Undefine command.
  2446.  
  2447.         Block     Clears the previous /Print Block setting.
  2448.  
  2449.         Rows      Clears the previous /Print Rows setting.
  2450.  
  2451.         Columns   Clears the previous /Print Columns setting.
  2452.  
  2453.         All       Clears all previous /Print range settings.
  2454.  
  2455.  
  2456.         ---------------------------------------------------------------------
  2457.         /Print Align
  2458.         ---------------------------------------------------------------------
  2459.         This command sets the current position  of the printhead as the top of
  2460.         the page.   This is  important; the  printer and the  program will  be
  2461.         keeping individual track of the top of the page.   It is good habit to
  2462.         precede the /Print Go command with the /Print Align command.
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.                                           36
  2470.  
  2471.  
  2472.         ---------------------------------------------------------------------
  2473.         /Print Line
  2474.         ---------------------------------------------------------------------
  2475.         This command sends a line feed to the printer, causing  the printer to
  2476.         print a  blank line.   Since the printer  and the program  are keeping
  2477.         separate  track of  the pagination,  sending a  line feed  through the
  2478.         printer control panel will cause the program's pagination to be off by
  2479.         a  line, resulting  in  unwanted  offsets  in  your  printout.    More
  2480.         importantly, though, it  is usually  easier to advance  the paper  one
  2481.         line using this command than by using the printer's control panel.
  2482.  
  2483.  
  2484.  
  2485.         ---------------------------------------------------------------------
  2486.         /Print Page
  2487.         ---------------------------------------------------------------------
  2488.         This command  sends a form feed  to the printer, causing  the paper to
  2489.         advance  one page.   This is  usually done at  the end of  a printout,
  2490.         since printing will stop with  the last line actually printed.   Thus,
  2491.         to remove the  page from the  printer, simply select  the /Print  Page
  2492.         command.  Since the printer and the program are keeping separate track
  2493.         of the pagination,  sending a  form feed through  the printer  control
  2494.         panel  will cause  the program's  pagination to  be off,  resulting in
  2495.         unwanted offsets in your printout.
  2496.  
  2497.  
  2498.         ---------------------------------------------------------------------
  2499.         /Print Options
  2500.         ---------------------------------------------------------------------
  2501.         This  command allows complete control over the format of the printout.
  2502.         There are numerous options,  all visible from a single  pop-up screen.
  2503.         You may  select an option either  by pressing the first  letter of the
  2504.         option name (highlighted), or by using the arrow keys to highlight the
  2505.         option and pressing the <Enter> key.
  2506.  
  2507.         Left Margin    Lets you set the number of characters from left edge of
  2508.                        the page to begin printing.
  2509.  
  2510.         Right Margin   Lets you set the number of characters from left edge of
  2511.                        the page that  you want your right margin set  to.  The
  2512.                        right margin must be greater than the left margin or an
  2513.                        error will occur.
  2514.  
  2515.         Top Margin     Lets you set  the number of blank lines to print at the
  2516.                        top  of each  page.    If you  set  this  option to  3,
  2517.                        InstaCalc will begin printing on the fourth line of the
  2518.                        page.
  2519.  
  2520.         Bottom Margin  Lets you  set the number of blank lines to print at the
  2521.                        bottom  of  each page.    InstaCalc  will automatically
  2522.                        advance the  paper to the  next page before  it resumes
  2523.                        printing.
  2524.  
  2525.         Page Length    Lets  you set the number  of physical lines  on a page.
  2526.                        On an 8 1/2" x 11" paper at 6 lines per inch, there are
  2527.                        66 lines.  InstaCalc must have this information so that
  2528.                        it can keep track of where it is on the page.
  2529.  
  2530.  
  2531.                                           37
  2532.  
  2533.  
  2534.         Header         Allows  you to enter a header, which will appear at the
  2535.                        top of every  page.  If  no header  is defined, then  a
  2536.                        blank line will be printed in its place.
  2537.  
  2538.         Footer         Allows  you to enter a footer, which will appear at the
  2539.                        bottom of every page.   If no footer is defined, then a
  2540.                        blank line will be printed in its place.
  2541.  
  2542.         Mode           Lets you decide what type of printout you want.
  2543.  
  2544.                        Display   The printout will appear as the file does on-
  2545.                                  screen; that is, the values calculated by the
  2546.                                  formulas will be printed.
  2547.  
  2548.                        Formula   The formulas themselves will be  printed, one
  2549.                                  cell   per  line.     This   is   useful  for
  2550.                                  documentation and error-handling.
  2551.  
  2552.         Output         Lets you decide where to send your output.
  2553.  
  2554.                        Printer   All output will be sent to the printer.
  2555.  
  2556.                        File      All  output will be sent to a file.  You will
  2557.                                  be asked for the name of the file you want to
  2558.                                  send the printout to.
  2559.  
  2560.         Number (page)  Displays  the current page number, which you can set or
  2561.                        reset.
  2562.  
  2563.         Setup string   The setup string is a sequence of characters which will
  2564.                        be sent to  your printer before  the range is  printed.
  2565.                        It is  generally used to send control sequences to your
  2566.                        printer to  turn on special features  such as condensed
  2567.                        printing.      Most  printer   codes   contain  control
  2568.                        characters which  can't be entered directly.   To enter
  2569.                        control characters, simply enter a  backslash character
  2570.                        \ followed by the  3 digit ASCII code (in  decimal) for
  2571.                        the control character.
  2572.  
  2573.                        For example, since the ASCII value (in decimal) for the
  2574.                        <Esc>  character is 27, you would use a setup string of
  2575.                        \027E to send  an <Esc>E to the  printer (this sequence
  2576.                        selects emphasized print on an EPSON printer).
  2577.  
  2578.  
  2579.  
  2580.         ---------------------------------------------------------------------
  2581.         /Print Go
  2582.         ---------------------------------------------------------------------
  2583.         This command begins the process of printing.  InstaCalc will not begin
  2584.         printing until it receives this command.
  2585.  
  2586.         If the range you are trying to print is wider than the left  and right
  2587.         margins  allow, InstaCalc will  ask if you  want if to  break the page
  2588.         into  smaller pieces for printing.  These  pieces can then be put back
  2589.         together into a larger sheet.
  2590.  
  2591.  
  2592.  
  2593.                                           38
  2594.  
  2595.  
  2596.         If you don't want the printout to be broken into  smaller pieces, then
  2597.         you must go back into the /Print Options and reset your left and right
  2598.         margins to allow for a wider printout.
  2599.  
  2600.         If you want to abort the print job after  it has started, simply press
  2601.         the <Esc> key (printers  with built-in print buffers will  continue to
  2602.         print until the print buffer has been emptied).
  2603.  
  2604.  
  2605.  
  2606.         ---------------------------------------------------------------------
  2607.         /Graph
  2608.         ---------------------------------------------------------------------
  2609.         This  command allows  you  to define  the  ranges to  be graphed,  set
  2610.         options for the graph, and then view or print the graph.
  2611.  
  2612.         Type      Select the type of graph.  The following types of graphs are
  2613.                   available.
  2614.  
  2615.                   Bar            Bar chart.
  2616.                   Stacked Bar    Stacked bar chart.
  2617.                   Line           Line chart.
  2618.                   Pie            Pie chart using data in range A.
  2619.                   X-Y            X-Y chart.   Range X must contain  the X axis
  2620.                                  coordinates   for  the  values  in  ranges  A
  2621.                                  through F.
  2622.                   Area           Area chart.
  2623.                   Hi-Lo          Hi-Lo chart.    Range  A  contains  the  high
  2624.                                  values, and range B contains the low values.
  2625.                   3 Axis         3 axis graphs for bar, area, and line charts.
  2626.                   Depth          Adds depth to bar, area, and pie charts.
  2627.                   Explode        Enter the number of the pie slice to explode.
  2628.  
  2629.         X         Allows  you to select a range of cells containing the labels
  2630.                   which  will be  used  on a  graph's  X axis.    You will  be
  2631.                   prompted  for the  range containing  the  labels.   For most
  2632.                   graph types  the  cells  in this  range  may  contain  text,
  2633.                   values,  or both.  For  X-Y graphs, this  range must contain
  2634.                   the  x axis values which  correspond to the  graph ranges (A
  2635.                   through  F).   Defining  this  range  is mandatory  for  X-Y
  2636.                   graphs.
  2637.  
  2638.         A..F      Allows you to select  up to 6 ranges of data to graph.  With
  2639.                   the exception of pie  charts and hi-lo graphs, all  of these
  2640.                   ranges can be displayed on a graph at the same time.
  2641.  
  2642.  
  2643.         Reset     Resets  the ranges of  the graph,  allowing you  to undefine
  2644.                   data  ranges to be charted.  You can reset individual ranges
  2645.                   or all ranges at the same time.
  2646.  
  2647.  
  2648.         Options   Allows you to set various options for the graph.
  2649.  
  2650.                   General: lets you  enter titles,  x and y  axis labels,  and
  2651.                   grids. You may also select the  scaling for both the x and y
  2652.                   axes.
  2653.  
  2654.  
  2655.                                           39
  2656.  
  2657.  
  2658.                   Color:  lets you  select colors  for various  parts  of your
  2659.         chart.
  2660.  
  2661.                   Fonts: lets you select fonts to be used.
  2662.  
  2663.                   Patterns: lets you select fill patterns.
  2664.  
  2665.                   Legends: lets you enter a legend for each graph range (A..F)
  2666.  
  2667.                   Annotate:  lets you  draw freeform  text and  lines  on your
  2668.                   charts.  This free form text  will be saved along with  your
  2669.                   chart.   Your  chart will  be displayed,  and the  following
  2670.                   buttons will be available:
  2671.  
  2672.                        Text: lets you enter and add text to your chart
  2673.                        Line: lets you draw a line on your chart
  2674.                        Color: lets you change the color of text or a line
  2675.                        Move: lets you move an item you have added
  2676.                        Font: lets you change the font for text you have added
  2677.                        Delete: lets you delete an item you have added
  2678.                        Spreadsheet: exits from the annotator
  2679.  
  2680.         Print     Prints  the  defined  graph to  the  printer.    The current
  2681.                   printer  type  and  port  is displayed  next  to  the  print
  2682.                   command.
  2683.  
  2684.                   NOTE:  In this shareware version, only the drivers for Epson
  2685.                        compatible   and   LaserJet  compatible   printers  are
  2686.                        supplied.   The  other  drivers are  provided when  you
  2687.                        register.
  2688.  
  2689.                        Printer: lets you select the appropriate printer
  2690.                        Format: lets you select the resolution for your chart
  2691.                        Orientation: Portrait or Landscape
  2692.                        Height: height of the chart in inches
  2693.                        Width: width of the chart in inches
  2694.                        Left: left margin in inches
  2695.                        Top: top margin in inches
  2696.                        Go: begin printing the chart
  2697.  
  2698.         Name      Save and retrieve graph settings.
  2699.  
  2700.         Save      Save  chart as a PCX, WPG, CGM  or other format file.  These
  2701.                   drivers are provided when you register.
  2702.  
  2703.         View      Displays the defined graph  on your screen.  Once  the graph
  2704.                   is  displayed,  pressing any  key  will  return you  to  the
  2705.                   worksheet.
  2706.  
  2707.  
  2708.         ---------------------------------------------------------------------
  2709.         /Data Sort
  2710.         ---------------------------------------------------------------------
  2711.         This  command allows you  to sort rows  or columns of  data, in either
  2712.         ascending or descending order.  A window of options will appear on the
  2713.         screen.   To change an option,  either press the key  corresponding to
  2714.         the first  letter of the option name (D for Direction for example), or
  2715.  
  2716.  
  2717.                                           40
  2718.  
  2719.  
  2720.         use the cursor keys  to move the  lightbar to the  option you want  to
  2721.         change and press the <Enter> key.
  2722.  
  2723.         Direction      Determines how your data is to be sorted.
  2724.                        Row       Rows will be sorted.
  2725.                        Column    Columns will be sorted.
  2726.  
  2727.         Block          You  will be asked  to define the range  to sort.  This
  2728.                        range should include  all of the rows or  columns which
  2729.                        you want rearranged.
  2730.  
  2731.         1st - 9th Key  The Key  options  indicate the  fields  to be  used  in
  2732.                        determining the sorted  (new) order of  the data.   You
  2733.                        will  be prompted  to indicate  the column or  row that
  2734.                        contains the data by which the sort is to be performed.
  2735.                        The column or row  may be indicated either  by pointing
  2736.                        or by typing an appropriate cell address.
  2737.  
  2738.                        You  will also be asked  whether the sort  should be in
  2739.                        Ascending or Descending order.
  2740.  
  2741.         Reset          This  command resets  all of the  sort settings.   This
  2742.                        function  is necessary  when you  need to  undefine the
  2743.                        sort keys.
  2744.  
  2745.         Start          Pressing  the Start key in the  options menu will cause
  2746.                        the sort to be performed as indicated in the menu.
  2747.  
  2748.  
  2749.         ---------------------------------------------------------------------
  2750.         /Data Fill
  2751.         ---------------------------------------------------------------------
  2752.         This command allows you to  fill a specified range of cells  with text
  2753.         or numbers.   You  will  be asked  for an  equation which  is used  to
  2754.         determine the values placed in each of the cells to be filled.
  2755.  
  2756.         A variable  named # is  initialized to 0  and is incremented  by 1 for
  2757.         each cell in the range.   The # variable  may be used anywhere in  the
  2758.         equation  to provide  an endless  number of  sequences.   The equation
  2759.         entered with this command may be any legal formula containing numbers,
  2760.         operators, cell or range references, functions, or the # variable.
  2761.  
  2762.         Cell  references in  the formula  are treated  as relative  unless you
  2763.         specifically make them absolute using the $ symbol.
  2764.  
  2765.  
  2766.  
  2767.  
  2768.         ---------------------------------------------------------------------
  2769.         /Data Value
  2770.         ---------------------------------------------------------------------
  2771.         This  command converts formulas in a range  to their values.  You will
  2772.         be  asked to  define a  range  of cells  to convert.   Since  formulas
  2773.         require  more memory than  values, this command  helps conserve memory
  2774.         when you just need a set of values rather than the formulas.
  2775.  
  2776.  
  2777.  
  2778.  
  2779.                                           41
  2780.  
  2781.  
  2782.         ---------------------------------------------------------------------
  2783.         /Data Modify
  2784.         ---------------------------------------------------------------------
  2785.         This command allows  you to modify all of the values  in a range.  You
  2786.         may specify that each cell in a specified range be multiplied by 5, or
  2787.         subtracted  from  the average  value of  the  range, or  that  they be
  2788.         modified in  any of the  ways that a legal  formula may provide.   You
  2789.         will be asked to define the range to modify, as well as an equation to
  2790.         modify the cells with.
  2791.  
  2792.         This command provides a variable named # which is set to the value  of
  2793.         each cell in  the range.  This variable may be used just like a number
  2794.         or cell reference in the formula.
  2795.  
  2796.  
  2797.  
  2798.  
  2799.         ---------------------------------------------------------------------
  2800.         /Data Base
  2801.         ---------------------------------------------------------------------
  2802.         This command  allows you  to  define and  use a  range of  cells as  a
  2803.         database.   Each  column in the  range will  be treated  as a database
  2804.         field,  and each row in  the range will be treated  as a record in the
  2805.         database.   You may have up  to 23 fields (columns)  in your database.
  2806.         If the range you define is wider than 23 columns, all columns past the
  2807.         23rd will be ignored.
  2808.  
  2809.         The top cell in each column must contain the name of that field.
  2810.  
  2811.         In addition, InstaCalc will use the format of the header cell (whether
  2812.         Currency, Date, etc) for all data entered into that field.  This means
  2813.         it is not necessary to pre-format entire columns of blank cells before
  2814.         using the database form.
  2815.  
  2816.         Range     You will  be asked to define  the range of cells  to use for
  2817.                   your database.  Each column in the range will  be treated as
  2818.                   a database field, and each row in the range will be  treated
  2819.                   as a record in the database.
  2820.  
  2821.         View      This command  displays the defined range in  a database form
  2822.                   view,  using the information you provided in the cell at the
  2823.                   top of each column.
  2824.  
  2825.                   The following commands are available in the form view:
  2826.  
  2827.                   Next      Move to the next record in the database.
  2828.  
  2829.                   Prior     Move to the prior record in the database.
  2830.  
  2831.                   Begin     Move to the first record in the database.
  2832.  
  2833.                   End       Move to the last record in the database.
  2834.  
  2835.                   Modify    Modify  the  currently  displayed  record.    When
  2836.                             modifying a record, the fields will be accessed in
  2837.                             the order of the columns in the worksheet.
  2838.  
  2839.  
  2840.  
  2841.                                           42
  2842.  
  2843.  
  2844.                             You may use  <Enter> to accept  the value of  each
  2845.                             field and move to  the next field, or you  may use
  2846.                             <Up>  and <Down>  to move  back and  forth between
  2847.                             fields.    When  you are  finished  modifying  the
  2848.                             record,  simply  press  <F10>  to  return  to  the
  2849.                             database menu.
  2850.  
  2851.                   Add       Allows  you to  add new  records to  the database.
  2852.                             Add is similar to Modify except that you may press
  2853.                             <F9>  to accept the entered data and move to a new
  2854.                             (blank)  record.     Pressing  <F10>  accepts  the
  2855.                             entered  record and  returns  you to  the database
  2856.                             menu.
  2857.  
  2858.                   Find      Find  a record in the database.  You will be asked
  2859.                             to enter criteria for the record(s) to search for.
  2860.                             This  criteria  can  use field  names,  comparison
  2861.                             operators (=,<>,<=, etc), logical  operators (&,|,
  2862.                             or ~)  or even  @functions.   For example, if  you
  2863.                             want to  find all records  where the last  name is
  2864.                             Smith  and the state is NY, then you might use the
  2865.                             following criteria:
  2866.  
  2867.                             (LNAME="Smith")&(STATE="NY")
  2868.  
  2869.                   Del       Delete the  currently displayed record.   You will
  2870.                             be asked to confirm this selection.
  2871.  
  2872.  
  2873.  
  2874.         ---------------------------------------------------------------------
  2875.         /Data Goalseek
  2876.         ---------------------------------------------------------------------
  2877.         The /Data Goalseek command  allows you to easily determine  what value
  2878.         must be entered into a cell  to make a formula give a desired  result.
  2879.         The formula  does not have  to directly  reference the  cell, and  the
  2880.         model  may be as complex as desired.   The more complex the worksheet,
  2881.         however, the longer the goalseeking will take.
  2882.  
  2883.         To perform the goalseeking, select the /Data Goalseek command, then:
  2884.  
  2885.         1. Select the formula you want to achieve a particular goal value.
  2886.         2. Enter the goal value you want that formula to achieve.
  2887.         3. Select the cell which InstaCalc should adjust to achieve that goal.
  2888.  
  2889.         After  InstaCalc  finds a  solution,  it  displays  the  solution  and
  2890.         provides the following options:
  2891.  
  2892.         Use       Enter  the new  value  into  the  cell which  InstaCalc  was
  2893.                   adjusting.
  2894.  
  2895.         Ignore    Restore the original value  to the cell which  InstaCalc was
  2896.                   adjusting.
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.                                           43
  2904.  
  2905.  
  2906.         ---------------------------------------------------------------------
  2907.         /Data matriX
  2908.         ---------------------------------------------------------------------
  2909.         The  /Data matriX command allows  you to add,  multiply, and transpose
  2910.         ranges of cells.
  2911.  
  2912.         Multiply  Multiplies two ranges.
  2913.  
  2914.         Add       Adds two ranges together.
  2915.  
  2916.         Transpose Transposes (swaps columns with rows) a range.
  2917.  
  2918.  
  2919.  
  2920.  
  2921.         ---------------------------------------------------------------------
  2922.         /Data Query
  2923.         ---------------------------------------------------------------------
  2924.         The /Data Query command allows you to extract (copy) selected database
  2925.         records (or parts of records) from  an input range to an output range,
  2926.         or to delete selected records from an input range.
  2927.  
  2928.         Input          The input  range consists of  a single record  per row,
  2929.                        where the  first row  in the  range contains  the field
  2930.                        names for the database.
  2931.  
  2932.         Output         The output range is  used as the location to  place the
  2933.                        records extracted from  the input range.   If you  only
  2934.                        define  the output  range  as one  row, InstaCalc  will
  2935.                        automatically extend the range to row 4096.
  2936.  
  2937.         Criteria       The criteria  is a  string which tells  InstaCalc which
  2938.                        records you  are interested in  extracting or deleting.
  2939.                        The criteria  can be any valid  InstaCalc formula which
  2940.                        returns  a TRUE or FALSE value.  The criteria may treat
  2941.                        any of the database  field names as if they  were range
  2942.                        names in the formula.  The criteria can use any of  the
  2943.                        comparison   operators   (=,<>,<=,   etc)  or   logical
  2944.                        operators (&,|, or ~).
  2945.  
  2946.                        Some example criteria are:
  2947.  
  2948.                        STATE="Utah"
  2949.                        All records where the STATE field contains Utah
  2950.  
  2951.                        (STATE="Utah")&(LASTNAME="Smith")
  2952.                        All records where the STATE field contains Utah and the
  2953.                        LASTNAME field contains Smith
  2954.  
  2955.         Extract        Allows  you  to extract  (copy)  selected  records (and
  2956.                        fields)  from the Input range to the Output range.  The
  2957.                        top row of the  Output range must contain the  names of
  2958.                        the specific  fields you  want extracted.   This allows
  2959.                        you to extract only those fields you are interested in.
  2960.  
  2961.                        The  Output  range is  erased  before  the records  are
  2962.                        extracted.   If  more records  match the  criteria than
  2963.  
  2964.  
  2965.                                           44
  2966.  
  2967.  
  2968.                        will fit  in the  Output range,  an error message  will
  2969.                        appear.
  2970.  
  2971.         Delete         Allows you  to delete records which  match the Criteria
  2972.                        from the input  range.   You will be  asked to  confirm
  2973.                        this selection with a Yes or No answer.
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.         ---------------------------------------------------------------------
  2980.         /Data Dist
  2981.         ---------------------------------------------------------------------
  2982.         This command generates a  frequency distribution of a range  of cells.
  2983.         You simply define the range of cells which contain the values you want
  2984.         a distribution  of, and  a "bin  range", which is  simply a  column of
  2985.         increasing values.  InstaCalc will look at the first value in the "bin
  2986.         range", count how many cells in the value range are less than or equal
  2987.         to that value, and insert that count into the cell to the right of the
  2988.         first bin.
  2989.  
  2990.         InstaCalc then  looks at the second  value in the "bin  range", counts
  2991.         how many cells in the value range are less than or equal to that value
  2992.         but are  greater than the  previous bin value, and  inserts that count
  2993.         into the cell to the right of the second bin.   This continues through
  2994.         the last cell in the "bin range".
  2995.  
  2996.         Finally, InstaCalc counts the number of cells in the value range which
  2997.         are  greater than the  last cell in  the "bin range",  and places that
  2998.         count to the right of the cell just under the "bin range".
  2999.  
  3000.         Summary
  3001.  
  3002.         1. Define the range containing your values.
  3003.  
  3004.         2. Define the column range containing your bin values.  The bin values
  3005.         must be in increasing order.
  3006.  
  3007.         3. InstaCalc will determine how many cells in the value  range fall in
  3008.         each of the "bins" in the bin range.  The result for each bin  will be
  3009.         placed in the cell to the right of each bin.
  3010.  
  3011.         By graphing  (as a bar graph)  the result of a  data distribution, you
  3012.         will obtain a histogram of the original data.
  3013.  
  3014.  
  3015.  
  3016.  
  3017.         ---------------------------------------------------------------------
  3018.         /Data Audit
  3019.         ---------------------------------------------------------------------
  3020.         This command  provides several auditing capabilities  which can assist
  3021.         you in finding errors which sneak into your worksheets.
  3022.  
  3023.         Trace     Allows  you  to highlight  all  formulas  which refer  to  a
  3024.                   specific  cell.  InstaCalc  will enter  a trace  mode, where
  3025.  
  3026.  
  3027.                                           45
  3028.  
  3029.  
  3030.                   pressing  <Enter> on  any cell  will highlight  all formulas
  3031.                   which reference that  cell.  All the  standard movement keys
  3032.                   are  available  to  move   through  the  worksheet  to  find
  3033.                   highlighted cells which  may not be on the  screen.  To exit
  3034.                   from Trace mode, simply press <Esc>.
  3035.  
  3036.         Map       Displays your worksheet in a compressed form where each cell
  3037.                   is represented by one of the following characters:
  3038.  
  3039.                   +    Formula
  3040.                   #    Number
  3041.                   A    Text
  3042.                   ?    Error
  3043.  
  3044.                   To exit from map mode, simply press the <Esc> key.
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.         ---------------------------------------------------------------------
  3051.         /Macro Edit
  3052.         ---------------------------------------------------------------------
  3053.         This command allows you to edit or create a  macro.  You will be asked
  3054.         for the name of a  macro to edit.  Pressing <Enter> without entering a
  3055.         macro  name will cause the InstaCalc File Manager to appear on-screen;
  3056.         the macro name may then be chosen from the File Manager.  Once a macro
  3057.         is chosen, the InstaCalc Macro Editor will display the macro and allow
  3058.         you to edit it.  The  following commands are available for editing the
  3059.         macro.
  3060.  
  3061.  
  3062.         <Up> <Down>
  3063.         <Left> <Right> The arrow keys move the cursor  up or down one line, or
  3064.                        left or right one character.
  3065.         <Home>         This key moves the cursor to the beginning of the line.
  3066.         <End>          This key moves the cursor to the end of the line.
  3067.         <Ctrl><Right>  This key moves the cursor one word to the right.
  3068.         <Ctrl><Left>   This key moves the cursor one word to the left.
  3069.         <Ctrl><Home>   This key moves the cursor to the top of the file.
  3070.         <Ctrl><End>    This key moves the cursor to the end of the file.
  3071.         <PgDn>         This key moves the cursor down one screen.
  3072.         <PgUp>         This key moves the cursor up one screen.
  3073.         <BkSp>         This  key deletes  the  character to  the  left of  the
  3074.                        cursor and shifts the  following characters in the line
  3075.                        to the left to fill in the empty space.
  3076.         <Ctrl><BkSp>   This key deletes the entire line.
  3077.         <Del>          This key  deletes the  character underneath  the cursor
  3078.                        and shifts the following characters in the line to  the
  3079.                        left to fill in the empty space.
  3080.         <Ins>          This key  toggles between  insert and overwrite  modes.
  3081.                        When you are  in insert mode,  typing a character  will
  3082.                        insert the  new character into  the line  at the  point
  3083.                        where the cursor is. The character under the cursor and
  3084.                        those to the  right of  the cursor are  shifted to  the
  3085.                        right  to make room for the new character. When you are
  3086.                        in overwrite mode, typing  a character will replace the
  3087.  
  3088.  
  3089.                                           46
  3090.  
  3091.  
  3092.                        character  under  the cursor  with  the  new character.
  3093.                        When  you are  in insert  mode, the  cursor will  be an
  3094.                        underline.   In  overwrite mode  the cursor  will be  a
  3095.                        solid block.
  3096.  
  3097.         <F1> Help      This key causes a help screen to appear which lists all
  3098.                        of the commands available for text editing.
  3099.  
  3100.         <F2> Mark      This  key turns on marking at the current line.  Moving
  3101.                        the cursor after pressing this key causes lines between
  3102.                        that   line  and   the  new   cursor  position   to  be
  3103.                        highlighted.  Pressing <F2> a second time will turn off
  3104.                        text marking.
  3105.  
  3106.         <F3> Cut       Pressing this key with  marking turned on (<F2>) causes
  3107.                        the marked lines to be  cut out of the file  and placed
  3108.                        in a buffer.   You may then move to another location in
  3109.                        the file and  use the <F4> key to paste  the lines back
  3110.                        into the file.  The buffer will only  hold one block of
  3111.                        lines, so  if you cut data a  second time, the new data
  3112.                        replaces the older data in the buffer.
  3113.  
  3114.         <F4> Paste     This  keys causes  the  contents of  the  buffer to  be
  3115.                        pasted into the file at the cursor location.  This does
  3116.                        not  clear the buffer, so you may paste the same buffer
  3117.                        data into more than one location.
  3118.  
  3119.         <F5> DelLine   This command deletes the line the cursor is on.
  3120.  
  3121.         <F6> Search    This command allows you  to search for a string  in the
  3122.                        file.  You will be asked to enter the text  you want to
  3123.                        search for.  Simply enter the text, and the cursor will
  3124.                        be  moved to  the next  occurrence of  that text.   The
  3125.                        search is case insensitive, which means that hello will
  3126.                        match hello, Hello, or HeLlO.
  3127.  
  3128.         <F7> Save      This command  allows you  to save  the current file  to
  3129.                        disk without having to exit.
  3130.  
  3131.         <F10> Exit     This  command allows you to  exit from the  editor.  If
  3132.                        you  have made  any changes  to the  file, you  will be
  3133.                        asked if you want to save it first.
  3134.  
  3135.  
  3136.  
  3137.         ---------------------------------------------------------------------
  3138.         /Macro List
  3139.         ---------------------------------------------------------------------
  3140.         This command  lists all of the  macros in the current  directory.  The
  3141.         command uses the InstaCalc  File Manager to find  files with the  .MAC
  3142.         extension.
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.                                           47
  3152.  
  3153.  
  3154.         ---------------------------------------------------------------------
  3155.         /Macro Run
  3156.         ---------------------------------------------------------------------
  3157.         This command executes  a macro (or application program).   You will be
  3158.         asked for  the  name of  a macro  to run.   Pressing  the <Enter>  key
  3159.         without indicating a  macro to  be run will  cause the InstaCalc  File
  3160.         Manager to appear on-screen.  You may  then choose the macro to be run
  3161.         using  the File  Manager.   For  information  on creating  macros  and
  3162.         application programs, see the section InstaCalc Applications.
  3163.  
  3164.  
  3165.  
  3166.         ---------------------------------------------------------------------
  3167.         /OpSys
  3168.         ---------------------------------------------------------------------
  3169.         This command allows you to temporarily return to the DOS command line,
  3170.         where you  can execute DOS commands  or other programs.   When you are
  3171.         ready to return to InstaCalc, simply type EXIT at the DOS prompt.
  3172.  
  3173.         IMPORTANT:  Never run TSRs from the /OpSys command line (this includes
  3174.         the DOS  PRINT command).   Doing so can  cause unexpected problems  to
  3175.         occur.
  3176.  
  3177.         This command is not available when running as a pop up.
  3178.  
  3179.  
  3180.         ---------------------------------------------------------------------
  3181.         /Quit
  3182.         ---------------------------------------------------------------------
  3183.         This command  allows  you to  leave InstaCalc  entirely.   This is  an
  3184.         intelligent  exit command;  if you have  made changes,  InstaCalc will
  3185.         allow  you to save the  file before exiting.  If  no changes have been
  3186.         made, InstaCalc will simply exit the program.
  3187.  
  3188.         When running InstaCalc as a pop  up program, you will not be asked  to
  3189.         confirm exiting, because your data is not lost when you quit.
  3190.  
  3191.         If changes  have been made  to the Worksheet  since the last  time you
  3192.         saved it, you will be asked if you want to lose the changes you made.
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.                                           48
  3214.  
  3215.  
  3216.         BUILT-IN FUNCTIONS
  3217.         ------------------
  3218.         InstaCalc  provides  built-in  functions  which you  can  use  in your
  3219.         formulas.  These built-in  functions each begin with the  character @,
  3220.         and are often called at functions.
  3221.  
  3222.         Most of these functions require one or more arguments.  An argument is
  3223.         a  value which  the function  uses as  an input  to provide  an output
  3224.         value.   An argument may be a number, a  text string, a reference to a
  3225.         value  in  another cell,  or  another formula.    In the  case  of the
  3226.         statistical functions, an argument may also be a range of cells.  If a
  3227.         function requires arguments, then they are enclosed in parentheses and
  3228.         immediately  follow  the name  of  the @function.   If  more  than one
  3229.         argument is  required, they must  be separated from each  other with a
  3230.         comma.
  3231.  
  3232.         A built-in function can  return either a numerical  or text value  and
  3233.         may be treated exactly like a number or text would be.
  3234.  
  3235.         Example:
  3236.         A cell contains the formula =2*@ABS(-3).
  3237.  
  3238.         @ABS is  the name of  a built-in  function which returns  the absolute
  3239.         (positive) value of its argument.
  3240.  
  3241.         -3 is the argument to the function.
  3242.  
  3243.         The function returns  a value of  3, and is  used in  the rest of  the
  3244.         formula  just like the number 3.  The value of the entire formula is 6
  3245.         (2 times the value of the @function).
  3246.  
  3247.         If the value that  a function returns is an error, it  will return the
  3248.         special value ERROR.  A formula which contains a function with a value
  3249.         of ERROR will also return ERROR as the value for the cell it is in.
  3250.  
  3251.  
  3252.         Mathematical
  3253.         ------------
  3254.         InstaCalc's  math  functions  allow  your  formulas  to  perform  more
  3255.         sophisticated  mathematical operations  than  the operators  alone can
  3256.         provide.
  3257.  
  3258.         Trigonometric
  3259.         -------------
  3260.         InstaCalc's  trigonometry   functions  work   the  same  way   as  the
  3261.         mathematical functions, but they specialize in working with angles.
  3262.  
  3263.         All  angle arguments  and results  are  in radians.   To  convert from
  3264.         degrees to radians, use the @RADIAN function.  To convert from radians
  3265.         to degrees, use the @DEGREE function.
  3266.  
  3267.         Statistical
  3268.         -----------
  3269.         InstaCalc's statistical  functions allow you to  analyze and summarize
  3270.         your data in a variety of  ways.  The statistical functions  calculate
  3271.         and  return various  statistics of  a list  of values.   The  list may
  3272.         consist  of numbers, references to values in other cells, formulas, or
  3273.  
  3274.  
  3275.                                           49
  3276.  
  3277.  
  3278.         a range of cells.  Ranges of cells are defined by using the cell names
  3279.         of two opposite  corners of the  range separated  by two periods  (for
  3280.         example:  C14..D16).   Each  individual  item  in  the  list  must  be
  3281.         separated by a comma.
  3282.  
  3283.         For example, suppose you  want to sum 1.23, the value in  the cell A1,
  3284.         and the values in each cell in the range defined by  the cells C14 and
  3285.         D16.  You would simply use the formula:
  3286.  
  3287.         =@SUM(1.23,A1,C14..D16)
  3288.  
  3289.  
  3290.         Financial
  3291.         ---------
  3292.         InstaCalc's  financial functions  allow you  to perform  many powerful
  3293.         analyses.  Functions include  formulas to compute time value  of money
  3294.         calculations, depreciation calculations, and growth rate calculations.
  3295.  
  3296.  
  3297.         Date/Time
  3298.         ---------
  3299.         InstaCalc  represents dates as the  number of days  since December 31,
  3300.         1899.  For example:
  3301.  
  3302.         Jan 1, 1900 = 1
  3303.         Jan 2, 1900 = 2
  3304.  
  3305.         and so on.
  3306.  
  3307.         Time  is represented as  a fraction of  a day  (starting at midnight).
  3308.         For example:
  3309.  
  3310.         midnight = 0.0
  3311.         noon = 0.5 because it is half way through the day,
  3312.         6:00PM = 0.75 because it is 3/4 way through the day,
  3313.  
  3314.         and so on.
  3315.  
  3316.         This  allows  dates and  times to  be  manipulated with  ordinary math
  3317.         operations.   For example, you could  find out what  day,  month,  and
  3318.         year 90  days from today  is by simply adding  90 to the  number which
  3319.         represents today's date. 
  3320.  
  3321.         Logical
  3322.         -------
  3323.         The InstaCalc logical functions  evaluate their arguments to determine
  3324.         one  thing: truth or falsity.  Typically, logical functions supply the
  3325.         value 1 as the representative of truth, and 0 as the representative of
  3326.         falsity.
  3327.  
  3328.         Macro
  3329.         -----
  3330.         InstaCalc provides several @functions which are designed to be used in
  3331.         application programs.
  3332.  
  3333.         String
  3334.         ------
  3335.  
  3336.  
  3337.                                           50
  3338.  
  3339.  
  3340.         The InstaCalc string  functions allow you to process character strings
  3341.         more efficiently.  They are often used  when importing data from other
  3342.         programs, printing, and in macros that process strings.
  3343.  
  3344.         Data
  3345.         ----
  3346.         InstaCalc's data functions  allow your  formulas to access  data in  a
  3347.         variety  of ways, from  lookup tables,  to access  to global  and cell
  3348.         statistics.
  3349.  
  3350.  
  3351.  
  3352.         ---------------------------------------------------------------------
  3353.         @ABS                                                      Mathematical
  3354.         ---------------------------------------------------------------------
  3355.         Function  Returns the absolute (positive) value of a number.
  3356.  
  3357.         Syntax    @ABS(x)
  3358.                   where x is a number, a cell address, or a calculated value.
  3359.  
  3360.  
  3361.  
  3362.         ---------------------------------------------------------------------
  3363.         @ACOS                                                     Trigonometry
  3364.         ---------------------------------------------------------------------
  3365.         Function  Returns the arc cosine of a number.
  3366.  
  3367.         Syntax    @ACOS(x)
  3368.                   where x is a number, a cell address, or a calculated value.
  3369.  
  3370.         Remarks   This  function returns  the angle  whose cosine  is x.   The
  3371.                   value of  x must be between  -1 and 1, or  @ACOS will return
  3372.                   the value ERROR.  The value of the angle returned will be in
  3373.                   radians, and will  lie between 0  and pi.   If you want  the
  3374.                   result  to be  in  degrees instead,  then  use the  @DEGREES
  3375.                   function to convert the result.
  3376.  
  3377.  
  3378.         ---------------------------------------------------------------------
  3379.         @ASIN                                                     Trigonometry
  3380.         ---------------------------------------------------------------------
  3381.         Function  Returns the arc sine of a number.
  3382.  
  3383.         Syntax    @ASIN(x)
  3384.                   where x is a number, a cell address, or a calculated value. 
  3385.  
  3386.         Remarks   This function returns the angle whose sine is x.   The value
  3387.                   of x must be between -1 to 1, or @ASIN will return the value
  3388.                   ERROR.   The value of the angle returned will be in radians,
  3389.                   and will lie between pi/2 and -pi/2.  If you want the result
  3390.                   to  be in degrees instead, then use the @DEGREES function to
  3391.                   convert the result.
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.                                           51
  3400.  
  3401.  
  3402.         ---------------------------------------------------------------------
  3403.         @ATAN                                                     Trigonometry
  3404.         ---------------------------------------------------------------------
  3405.         Function  Returns the arc tangent of a number.
  3406.  
  3407.         Syntax    @ATAN(x)
  3408.                   where x is a number, a cell address, or a calculated value.
  3409.  
  3410.         Remarks   This function returns  the angle  whose tangent is  x.   The
  3411.                   value of the angle returned is in radians.  If  you want the
  3412.                   result  to be  in  degrees instead,  then  use the  @DEGREES
  3413.                   function to convert the result.
  3414.  
  3415.                   Since  the @ATAN function finds  an angle based  on a single
  3416.                   value, the result is limited to quadrants I and IV (-pi/2 to
  3417.                   pi/2).  If you want to find a 4 quadrant angle, you must use
  3418.                   the @ATAN2 function.
  3419.  
  3420.  
  3421.  
  3422.  
  3423.         ---------------------------------------------------------------------
  3424.         @ATAN2                                                    Trigonometry
  3425.         ---------------------------------------------------------------------
  3426.         Function  Returns the four quadrant arc tangent of y/x.
  3427.  
  3428.         Syntax    @ATAN2(x,y)
  3429.                   where x  and y  are numbers,  cell addresses, or  calculated
  3430.                   values.
  3431.  
  3432.         Remarks   This function returns the angle whose tangent is y/x.
  3433.  
  3434.                   The @ATAN2 function calculates the  value of the arc tangent
  3435.                   differently  than  the  @ATAN  function.   Where  the  @ATAN
  3436.                   function takes as its argument the value of the tangent, the
  3437.                   @ATAN2  function calculates  the  value of  the arc  tangent
  3438.                   using the x and y coordinates.  The result will be a full  4
  3439.                   quadrant angle, and will be between -pi and pi.
  3440.  
  3441.  
  3442.  
  3443.         ---------------------------------------------------------------------
  3444.         @AVG                                                       Statistical
  3445.         ---------------------------------------------------------------------
  3446.         Function  Returns the average of a list of values.
  3447.  
  3448.         Syntax    @AVG(list)
  3449.                   where  list is a  list of values  separated by commas,  or a
  3450.                   range containing values, or some combination of the two.
  3451.  
  3452.         Remarks   This function calculates the average, or mean, of the values
  3453.                   in list.
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.                                           52
  3462.  
  3463.  
  3464.         ---------------------------------------------------------------------
  3465.         @CELL                                                             Data
  3466.         ---------------------------------------------------------------------
  3467.         Function  Returns information about a cell.
  3468.  
  3469.         Syntax    @CELL(attribute,range)
  3470.                   where  attribute  is  a  string  in  quotations  or  a  cell
  3471.                   reference; and range is a cell range, named or otherwise.
  3472.  
  3473.         Remarks   This function returns information  about the upper left cell
  3474.                   in range.   Although the  information is only  for a  single
  3475.                   cell, range must  be entered as a range instead  of a single
  3476.                   cell.    Attribute must  be  one of  the  following strings:
  3477.                   "address", "col", "contents", "format", "prefix", "protect",
  3478.                   "row",  or   "type".    @CELL   is  primarily  for   use  in
  3479.                   applications  to determine  certain characteristics  about a
  3480.                   cell.
  3481.  
  3482.                   attribute      @CELL returns
  3483.                   "address"      the name of the cell (for example B5)
  3484.  
  3485.                   "col"          the column number of the cell (1 through 256)
  3486.  
  3487.                   "contents"     the contents of the cell
  3488.  
  3489.                   "format"       the formatting of the cell
  3490.                                  0 Default
  3491.                                  1 Fixed
  3492.                                  2 Currency
  3493.                                  3 Percent
  3494.                                  4 Scientific
  3495.                                  5 Hidden
  3496.                                  6 Text
  3497.                                  7 Fixed with commas
  3498.                                  8 Currency with commas
  3499.                                  9 Percent with commas
  3500.                                  10 dd-mmm-yy
  3501.                                  11 dd-mmm
  3502.                                  12 mmm-yy
  3503.                                  13 mm/dd/yy
  3504.                                  14 Month DD, YYYY
  3505.                                  15 HH:MM AM/PM
  3506.                                  16 HH:MM Military
  3507.                                  17 General
  3508.  
  3509.                   "prefix"       the justification character of the cell
  3510.                                  ' if left justified
  3511.                                  " if right justified
  3512.                                  ^ if centered
  3513.                                  blank if the cell doesn't contain text
  3514.  
  3515.                   "protect"      the protection status of the cell
  3516.                                  0 = Not protected, 1 = Protected
  3517.  
  3518.                   "row"          the row number of the cell (1 through 4096)
  3519.  
  3520.                   "type"         the type of data in the cell.
  3521.  
  3522.  
  3523.                                           53
  3524.  
  3525.  
  3526.                                  BLANK,   FORMAT,   NUMBER,   TEXT,   FORMULA,
  3527.                                  TXTFORM, ERROR
  3528.  
  3529.                   "width"        the width of the column the cell is in.
  3530.  
  3531.  
  3532.         ---------------------------------------------------------------------
  3533.         @CHANGED                                                         Macro
  3534.         ---------------------------------------------------------------------
  3535.         Function  Returns the save status of the Worksheet.
  3536.  
  3537.         Syntax    @CHANGED
  3538.  
  3539.         Remarks   This function returns  a value  of 1 (TRUE)  if any  changes
  3540.                   have been made to the Worksheet since it was last saved, and
  3541.                   0 (FALSE) if no changes have been made.
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.         ---------------------------------------------------------------------
  3548.         @CHAR                                                           String
  3549.         ---------------------------------------------------------------------
  3550.         Function  Returns a character, based on its ASCII value.
  3551.  
  3552.         Syntax    @CHAR(x)
  3553.                   where x is a number, a cell address, or a calculated value.
  3554.  
  3555.         Remarks   This function returns the ASCII  character for the value  x.
  3556.                   The value of x must lie in the range 1 to 255.
  3557.  
  3558.  
  3559.  
  3560.         ---------------------------------------------------------------------
  3561.         @CHOOSE                                                           Data
  3562.         ---------------------------------------------------------------------
  3563.         Function  Choose an item from a list.
  3564.  
  3565.         Syntax    @CHOOSE(x,y1,y2,y3...yn)
  3566.                   where x is an offset value, and y1...yn is the list of items
  3567.                   to choose from.
  3568.  
  3569.         Remarks   This function performs a simple lookup based on the value of
  3570.                   x.  If x has a value of 1, then @CHOOSE will return y1; if x
  3571.                   has a  value of 2, then  @CHOOSE will return y2,  and so on.
  3572.                   The items in the list can be numeric, text, or both.
  3573.  
  3574.                   If x is less than  1 or greater than the number  of items in
  3575.                   the list, then @CHOOSE will return the value ERROR.
  3576.  
  3577.         ---------------------------------------------------------------------
  3578.         @CINT                                                        Financial
  3579.         ---------------------------------------------------------------------
  3580.         Function  Returns the principal and interest after compounding.
  3581.  
  3582.         Syntax    @CINT(principal,int,n,q)
  3583.  
  3584.  
  3585.                                           54
  3586.  
  3587.  
  3588.                   where principal, int,  n, and q are numbers, cell addresses,
  3589.                   or calculated values.
  3590.  
  3591.         Remarks   This  function returns  the  total amount  of principal  and
  3592.                   interest accumulated  after compounding.   principal is  the
  3593.                   starting principal amount,  int is the rate  of interest per
  3594.                   period,  n is the number of periods,  and q is the number of
  3595.                   times per period that interest is compounded.
  3596.  
  3597.  
  3598.  
  3599.         ---------------------------------------------------------------------
  3600.         @CNAME                                                            Data
  3601.         ---------------------------------------------------------------------
  3602.         Function  Returns the name of a cell.
  3603.  
  3604.         Syntax    @CNAME(col,row)
  3605.                   where col and row are numbers, cell addresses, or calculated
  3606.                   values.
  3607.  
  3608.         Remarks   This  functions  returns the  name of  a  cell based  on the
  3609.                   column and row number of the cell.
  3610.  
  3611.  
  3612.  
  3613.         ---------------------------------------------------------------------
  3614.         @CODE                                                           String
  3615.         ---------------------------------------------------------------------
  3616.         Function  Returns the ASCII value of a character.
  3617.  
  3618.         Syntax    @CODE(string)
  3619.                   where string is a string in quotations, or a cell address.
  3620.  
  3621.         Remarks   This function returns the ASCII value of the first character
  3622.                   in  string.  If the  length of string  is zero, or  is not a
  3623.                   string, then @CODE will return the value ERROR.
  3624.  
  3625.         ---------------------------------------------------------------------
  3626.         @COLS                                                             Data
  3627.         ---------------------------------------------------------------------
  3628.         Function  Returns the number of columns in a range.
  3629.  
  3630.         Syntax    @COLS(range)
  3631.                   where range is a cell range, either named or otherwise.
  3632.  
  3633.         Remarks   This function returns the number of columns in range.
  3634.  
  3635.  
  3636.  
  3637.  
  3638.         ---------------------------------------------------------------------
  3639.         @COS                                                      Trigonometry
  3640.         ---------------------------------------------------------------------
  3641.         Function  Returns the cosine of an angle.
  3642.  
  3643.         Syntax    @COS(x)
  3644.                   where x is a number, a cell address, or a calculated value.
  3645.  
  3646.  
  3647.                                           55
  3648.  
  3649.  
  3650.         Remarks   This function returns the cosine of the angle x.   x must be
  3651.                   in  radians.   If x  is in  degrees, then  you must  use the
  3652.                   @RADIANS function to convert x to radians first.  The result
  3653.                   of @COS will be between -1 and 1.
  3654.  
  3655.  
  3656.  
  3657.  
  3658.         ---------------------------------------------------------------------
  3659.         @COSH                                                     Trigonometry
  3660.         ---------------------------------------------------------------------
  3661.         Function  Returns the hyperbolic cosine of an angle.
  3662.  
  3663.         Syntax    @COSH(x)
  3664.                   where x is a number, a cell address, or a calculated value.
  3665.  
  3666.         Remarks   This function returns the hyperbolic cosine of the  angle x.
  3667.                   x must be in radians.  If x is in degrees, then you must use
  3668.                   the @RADIANS function to convert x to radians first.
  3669.  
  3670.         ---------------------------------------------------------------------
  3671.         @COUNT                                                     Statistical
  3672.         ---------------------------------------------------------------------
  3673.         Function  Returns the number of values in a list.
  3674.  
  3675.         Syntax    @COUNT(list)
  3676.                   where list  is a  list of  items separated by  commas, or  a
  3677.                   range containing values, or some combination of the two.
  3678.  
  3679.         Remarks   This  function counts all of the cells in list which contain
  3680.                   data.    Blank  cells  in  a  range  are  not  counted,  but
  3681.                   individual cell references are  always counted, even if they
  3682.                   are blank.
  3683.  
  3684.  
  3685.  
  3686.  
  3687.         ---------------------------------------------------------------------
  3688.         @CTERM                                                       Financial
  3689.         ---------------------------------------------------------------------
  3690.         Function  Returns the number of  periods for an investment to  reach a
  3691.                   future value.
  3692.  
  3693.         Syntax    @CTERM(rate,fv,pv)
  3694.                   where  rate,  fv and  pv  are  numbers,  cell addresses,  or
  3695.                   calculated values.
  3696.  
  3697.         Remarks   This function returns the number of periods  needed to reach
  3698.                   a given  future value, using a  specified initial investment
  3699.                   and a periodic interest rate.
  3700.  
  3701.                   rate is the periodic  interest rate, fv is the  future value
  3702.                   to be reached, and pv is the initial investment.
  3703.  
  3704.                   @CTERM  is often used in  retirement planning, where a fixed
  3705.                   amount  of money  (usually  large) is  necessary to  sustain
  3706.                   retirement.    @CTERM   can  determine  whether  a   certain
  3707.  
  3708.  
  3709.                                           56
  3710.  
  3711.  
  3712.                   investment  is  likely to  reach  the monetary  goal  in the
  3713.                   necessary time period.
  3714.  
  3715.  
  3716.         ---------------------------------------------------------------------
  3717.         @DATE                                                        Date/Time
  3718.         ---------------------------------------------------------------------
  3719.         Function  Returns a date number for a date.
  3720.  
  3721.         Syntax    @DATE(year,month,day)
  3722.                   where year, month,  and day are numbers,  cell addresses, or
  3723.                   calculated values.
  3724.  
  3725.         Remarks   This function returns the  date number for year, month,  and
  3726.                   day.   The date  number is the  number of days  from Dec 31,
  3727.                   1899 to the given date.  Formatting a cell containing a date
  3728.                   number  using the /Range Format Date  commands will turn the
  3729.                   number  into a  readable date.   The  key use  for all  date
  3730.                   commands is  in date arithmetic--the  determination of  time
  3731.                   between two periods.
  3732.  
  3733.  
  3734.  
  3735.         ---------------------------------------------------------------------
  3736.         @DAY                                                         Date/Time
  3737.         ---------------------------------------------------------------------
  3738.         Function  Returns the day of the month.
  3739.  
  3740.         Syntax    @DAY(date number)
  3741.                   where date number is a  number, cell address, or  calculated
  3742.                   value.
  3743.  
  3744.         Remarks   This function returns the day of the month of date number.
  3745.  
  3746.  
  3747.  
  3748.  
  3749.         ---------------------------------------------------------------------
  3750.         @DDB                                                         Financial
  3751.         ---------------------------------------------------------------------
  3752.         Function  Returns  the amount  of depreciation  of an asset  using the
  3753.                   double-declining balance method.
  3754.  
  3755.         Syntax    @DDB(cost,salvage,life,period)
  3756.                   where  cost, salvage,  life,  and period  are numbers,  cell
  3757.                   addresses, or calculated values.
  3758.  
  3759.         Remarks   This function  calculates the  amount of depreciation  of an
  3760.                   asset   using   the  Double-Declining   Balance   method  of
  3761.                   accelerated depreciation.
  3762.  
  3763.                   cost is the cost of the asset, salvage  is the salvage value
  3764.                   of  the asset after it  is totally depreciated,  life is the
  3765.                   useful  life of the asset,  and period is  the period within
  3766.                   that life in which the depreciation is being calculated.
  3767.  
  3768.                   The depreciation for a period is:
  3769.  
  3770.  
  3771.                                           57
  3772.  
  3773.  
  3774.                   (book value * 2) / life
  3775.  
  3776.                   where the book value for a period is:
  3777.  
  3778.                   cost - (total depreciation for all prior periods)
  3779.  
  3780.                   The total depreciation over the life of the asset will never
  3781.                   exceed the assets cost - salvage value.
  3782.  
  3783.  
  3784.  
  3785.         ---------------------------------------------------------------------
  3786.         @DEGREES                                                  Trigonometry
  3787.         ---------------------------------------------------------------------
  3788.         Function  Converts radians to degrees.
  3789.  
  3790.         Syntax    @DEGREES(x)
  3791.                   where x is a number, a cell address, or a calculated value.
  3792.  
  3793.         Remarks   Although all  of InstaCalc's trigonometry  functions operate
  3794.                   on angular values expressed in  radians, it is often  easier
  3795.                   to analyze  angular data  when  expressed in  degrees.   The
  3796.                   @DEGREES function  provides an easy  way to convert  a value
  3797.                   from radians to degrees.
  3798.  
  3799.  
  3800.  
  3801.         ---------------------------------------------------------------------
  3802.         @DIR                                                             Macro
  3803.         ---------------------------------------------------------------------
  3804.         Function  Returns the name of the current directory.
  3805.  
  3806.         Syntax    @DIR
  3807.  
  3808.         Remarks   This function returns the name of the current directory.
  3809.  
  3810.  
  3811.  
  3812.  
  3813.         ---------------------------------------------------------------------
  3814.         @ENVIRON                                                         Macro
  3815.         ---------------------------------------------------------------------
  3816.         Function  Returns the value of an environment variable.
  3817.  
  3818.         Syntax    @ENVIRON(var)
  3819.  
  3820.         Remarks   This  function allows  your  applications to  check the  DOS
  3821.                   environment for variables which may be stored there.
  3822.  
  3823.  
  3824.  
  3825.         ---------------------------------------------------------------------
  3826.         @ERROR                                                            Data
  3827.         ---------------------------------------------------------------------
  3828.         Function  Returns the value ERROR.
  3829.  
  3830.         Syntax    @ERROR
  3831.  
  3832.  
  3833.                                           58
  3834.  
  3835.  
  3836.         Remarks   This function causes the ERROR flag to appear in the cell in
  3837.                   which it is entered.
  3838.  
  3839.  
  3840.  
  3841.  
  3842.         ---------------------------------------------------------------------
  3843.         @EXACT                                                          String
  3844.         ---------------------------------------------------------------------
  3845.         Function  Compares two text strings.
  3846.  
  3847.         Syntax    @EXACT(string1,string2)
  3848.                   where string1 and string2 are strings in quotations or  cell
  3849.                   addresses.
  3850.  
  3851.         Remarks   This  function  returns the  value 1  (TRUE) if  string1 and
  3852.                   string2  are identical, or the  value 0 (FALSE)  if they are
  3853.                   not.
  3854.  
  3855.                   Comparing two strings with  the @EXACT function is different
  3856.                   than comparing them with the  = operator.  Strings  compared
  3857.                   with the @EXACT function must be exactly the same for a TRUE
  3858.                   result,  while  strings compared  with  the  = operator  may
  3859.                   differ in case and still be considered equal.
  3860.  
  3861.  
  3862.         ---------------------------------------------------------------------
  3863.         @EXP                                                      Mathematical
  3864.         ---------------------------------------------------------------------
  3865.         Function  Returns e raised to a power.
  3866.  
  3867.         Syntax    @EXP(x)
  3868.                   where x is a number, a cell address, or a calculated value.
  3869.  
  3870.         Remarks   This function returns e^x.   e is approximately 2.71828.   x
  3871.                   must be  less than 85.2  or an overflow  will occur  and the
  3872.                   value  ERROR will be returned.  This function is the inverse
  3873.                   of  the @LN function.   To use the value  of e in a formula,
  3874.                   use @EXP(1).
  3875.  
  3876.  
  3877.  
  3878.  
  3879.         ---------------------------------------------------------------------
  3880.         @FACT                                                     Mathematical
  3881.         ---------------------------------------------------------------------
  3882.         Function  Returns the factorial of a number.
  3883.  
  3884.         Syntax    @FACT(x)
  3885.                   where x is a number, a cell address, or a calculated value.
  3886.  
  3887.         Remarks   The factorial of x is x * (x-1) * (x-2)...* 1.
  3888.  
  3889.                   x must be between 0 and 30 (inclusive), otherwise @FACT will
  3890.                   overflow and return ERROR.  x should be an integer; if it is
  3891.                   not  an integer,  the  program will  use  the value  of  the
  3892.                   argument rounded to the nearest integer.
  3893.  
  3894.  
  3895.                                           59
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.         ---------------------------------------------------------------------
  3902.         @FALSE                                                         Logical
  3903.         ---------------------------------------------------------------------
  3904.         Function  Returns the value FALSE (0).
  3905.  
  3906.         Syntax    @FALSE
  3907.  
  3908.         Remarks   This function returns the value 0 (FALSE).
  3909.  
  3910.                   The primary purpose of  the @FALSE function is to  help make
  3911.                   logical formulas easier to read.
  3912.  
  3913.         ---------------------------------------------------------------------
  3914.         @FILE                                                            Macro
  3915.         ---------------------------------------------------------------------
  3916.         Function  Returns various information regarding a file.
  3917.  
  3918.         Syntax    @FILE(filename,attribute)
  3919.                   where filename  and attribute  are strings in  quotations or
  3920.                   cell addresses.
  3921.  
  3922.         Remarks   This  function returns  various information  about the  file
  3923.                   named  filename.  Attribute is one  of the following strings
  3924.                   which tells  what information to return:  "PATH", "DATE", or
  3925.                   "EXIST".   filename can be a full  path name, or just a file
  3926.                   name by itself.   If filename is just the  name of the file,
  3927.                   InstaCalc will look for the  file in the current  directory.
  3928.                   @FILE is intended  for use in  application programs only  to
  3929.                   test various characteristics of files your program uses.
  3930.  
  3931.                   "PATH"    returns the full pathname of filename.
  3932.  
  3933.                   "DATE"    returns a  combined date  and time number  for the
  3934.                             date and time that filename was last written to.
  3935.  
  3936.                   "EXIST"   returns TRUE  (logical 1) if filename  exists, and
  3937.                             FALSE (logical 0) if it doesn't.
  3938.  
  3939.  
  3940.         ---------------------------------------------------------------------
  3941.         @FIND                                                           String
  3942.         ---------------------------------------------------------------------
  3943.         Function  Finds the occurrence of a string in a longer string.
  3944.  
  3945.         Syntax    @FIND(substring,string,n)
  3946.                   where  substring and  string are  strings in  quotations, or
  3947.                   cell  addresses,  and  n  is  a  number,  cell  address,  or
  3948.                   calculated value.
  3949.  
  3950.         Remarks   substring is the  part of a  string to find,  string is  the
  3951.                   longer  string  in  which  to  find  the  substring,  and  n
  3952.                   designates where in the string to begin looking.  The search
  3953.                   is case-sensitive.
  3954.  
  3955.  
  3956.  
  3957.                                           60
  3958.  
  3959.  
  3960.                   @FIND  returns the  position  in string  where substring  is
  3961.                   found.  That is,  if substring begins at the  20th character
  3962.                   string, 20  will be returned.   If no match  is found, @FIND
  3963.                   returns a value of 0.
  3964.  
  3965.  
  3966.  
  3967.  
  3968.         ---------------------------------------------------------------------
  3969.         @FNAME                                                           Macro
  3970.         ---------------------------------------------------------------------
  3971.         Function  Returns the name of the file currently in memory.
  3972.  
  3973.         Syntax    @FNAME
  3974.  
  3975.         Remarks   The @FNAME function returns  the name of the  file currently
  3976.                   being worked on.
  3977.  
  3978.  
  3979.  
  3980.         ---------------------------------------------------------------------
  3981.         @FORMAT                                                         String
  3982.         ---------------------------------------------------------------------
  3983.         Function  Converts a number to a string using a selected format.
  3984.  
  3985.         Syntax    @FORMAT(x,form,dp)
  3986.                   where  x,  form, and  dp  are  numbers,  cell addresses,  or
  3987.                   calculated values.
  3988.  
  3989.         Remarks   This function converts a number to a string using the format
  3990.                   form and dp decimal places.  @FORMAT is especially useful in
  3991.                   applications where  you want  to print  out  values using  a
  3992.                   specific format such as currency.
  3993.  
  3994.                   form FORMAT
  3995.                   0    Default
  3996.                   1    Fixed
  3997.                   2    Currency
  3998.                   3    Percent
  3999.                   4    Scientific
  4000.                   5    Hidden
  4001.                   6    Text
  4002.                   7    Fixed with commas
  4003.                   8    Currency with commas
  4004.                   9    Percent with commas
  4005.                   10   dd-mmm-yy
  4006.                   11   dd-mmm
  4007.                   12   mmm-yy
  4008.                   13   mm/dd/yy
  4009.                   14   Month DD, YYYY
  4010.                   15   HH:MM AM/PM
  4011.                   16   HH:MM Military
  4012.                   17   General
  4013.  
  4014.                                    
  4015.  
  4016.  
  4017.  
  4018.  
  4019.                                           61
  4020.  
  4021.  
  4022.         ---------------------------------------------------------------------
  4023.         @FRAC                                                     Mathematical
  4024.         ---------------------------------------------------------------------
  4025.         Function  Returns the fractional part of a number.
  4026.  
  4027.         Syntax    @FRAC(x)
  4028.                   where x is a number, a cell address, or a calculated value.
  4029.  
  4030.         Remarks   This function returns only  the part of x which  comes after
  4031.                   the  decimal  point.   If  x  is  negative,  then the  value
  4032.                   returned by @FRAC will be negative also.
  4033.  
  4034.  
  4035.  
  4036.         ---------------------------------------------------------------------
  4037.         @FV                                                          Financial
  4038.         ---------------------------------------------------------------------
  4039.         Function  Returns the future value of an annuity.
  4040.  
  4041.         Syntax    @FV(pmt,int,term)
  4042.                   where  pmt,  int,  term  are  numbers,  cell  addresses,  or
  4043.                   calculated values.
  4044.  
  4045.         Remarks   This function calculates the future value of an annuity.
  4046.  
  4047.                   pmt is the amount of payment per period in the annuity,  int
  4048.                   is  the  discount rate  per period,  and  term is  the total
  4049.                   number of payments to be made.
  4050.  
  4051.                   @FV assumes that payments are  being made at the end of  the
  4052.                   period.  If payments are due at the beginning of the period,
  4053.                   simply multiply the answer by (1+int).
  4054.  
  4055.                   IMPORTANT: The interest rate must be a per period rate.  For
  4056.                   example, if  the term is 240,  indicating (probably) monthly
  4057.                   payments over twenty years, the interest rate must also be a
  4058.                   monthly rate.   Thus, a 12% yearly rate  would be entered as
  4059.                   1%.
  4060.  
  4061.  
  4062.  
  4063.  
  4064.         ---------------------------------------------------------------------
  4065.         @GLOBAL                                                           Data
  4066.         ---------------------------------------------------------------------
  4067.         Function  Returns information about the current Worksheet.
  4068.  
  4069.         Syntax    @GLOBAL(attribute)
  4070.  
  4071.         Remarks   This function returns  global information about the  current
  4072.                   worksheet.  Attribute is one  of the following strings which
  4073.                   tells  what  information  to  return:  "prefix",  "protect",
  4074.                   "width", "format","calc", "insert", or  "enter".  @GLOBAL is
  4075.                   intended  for use  in application  programs to  test various
  4076.                   characteristics of the current worksheet.
  4077.  
  4078.                   attribute      @GLOBAL returns
  4079.  
  4080.  
  4081.                                           62
  4082.  
  4083.  
  4084.                   "prefix"       the global justification character
  4085.                                  ' if left justified
  4086.                                  " if right justified
  4087.                                  ^ if centered
  4088.  
  4089.                   "protect"      the Worksheet protection
  4090.                                  0 = Disabled, 1 = Enabled
  4091.  
  4092.                   "width"        the global column width
  4093.  
  4094.                   "format"       the global format
  4095.                                  0 Default
  4096.                                  1 Fixed
  4097.                                  2 Currency
  4098.                                  3 Percent
  4099.                                  4 Scientific
  4100.                                  5 Hidden
  4101.                                  6 Text
  4102.                                  7 Fixed with commas
  4103.                                  8 Currency with commas
  4104.                                  9 Percent with commas
  4105.                                  10 dd-mmm-yy
  4106.                                  11 dd-mmm
  4107.                                  12 mmm-yy
  4108.                                  13 mm/dd/yy
  4109.                                  14 Month DD, YYYY
  4110.                                  15 HH:MM AM/PM
  4111.                                  16 HH:MM Military
  4112.                                  17 General
  4113.  
  4114.  
  4115.                   "calc"         the recalculation mode
  4116.                                  0 = Manual, 1 = Automatic
  4117.  
  4118.                   "insert"       the status of insert mode
  4119.                                  0 = Off, 1 = On
  4120.  
  4121.                   "enter"        the status of <Ctrl><F9> Enter mode
  4122.                                  0 = Off, 1 = On
  4123.  
  4124.  
  4125.  
  4126.         ---------------------------------------------------------------------
  4127.         @HLOOKUP                                                          Data
  4128.         ---------------------------------------------------------------------
  4129.         Function  Looks up an item in a horizontal lookup table.
  4130.  
  4131.         Syntax    @HLOOKUP(x,range,row offset)
  4132.                   where range is  a range  of cells, named  or otherwise;  row
  4133.                   offset is a number, cell address, or calculated value; and x
  4134.                   is a number, text, cell address, or calculated value.
  4135.  
  4136.         Remarks   This function looks up and retrieves a value or text  from a
  4137.                   horizontal  lookup table.  range is the range of cells which
  4138.                   makes up the lookup table.
  4139.  
  4140.                   If x  is text, @HLOOKUP will compare x with each cell in the
  4141.  
  4142.  
  4143.                                           63
  4144.  
  4145.  
  4146.                   top row of  range, and if  a match is  found, will move  row
  4147.                   offset rows from that cell, and will return the value in the
  4148.                   resulting cell.  If x does not match any of the cells in the
  4149.                   top row of range, then @HLOOKUP will return the value ERROR.
  4150.  
  4151.                   If x is  a value  instead of text,  @HLOOKUP will compare  x
  4152.                   with each cell in the top row of range until it finds a cell
  4153.                   which is  greater than or equal  to x.  This  means that the
  4154.                   values in the  top row of  range must be in  ascending order
  4155.                   for @HLOOKUP to work correctly.  If the value in the cell is
  4156.                   equal to x, @HLOOKUP will consider  it a match.  If the cell
  4157.                   is greater than x,  @HLOOKUP will move back to  the previous
  4158.                   cell and consider it a match.  For example, if the values in
  4159.                   the top  row of range  are 100, 200,  300, and 400,  and the
  4160.                   value  of x  is  250, then  @HLOOKUP  will search  until  it
  4161.                   reaches  300, and  will  then move  back  and use  the  cell
  4162.                   containing  200  as  the match.    When  a  match is  found,
  4163.                   @HLOOKUP  will move row offset rows from that cell, and will
  4164.                   return  the value in  the resulting cell.   If  x is smaller
  4165.                   than the first cell in the top row, @HLOOKUP will return the
  4166.                   value ERROR.
  4167.  
  4168.  
  4169.  
  4170.         ---------------------------------------------------------------------
  4171.         @HOUR                                                        Date/Time
  4172.         ---------------------------------------------------------------------
  4173.         Function  Returns the hour of a time number.
  4174.  
  4175.         Syntax    @HOUR(time number)
  4176.                   where time  number is a number, cell  address, or calculated
  4177.                   value.
  4178.  
  4179.         Remarks   This function returns the hour of  time number.  A result of
  4180.                   0  represents  midnight,  1  represents 1:00  p.m.,  and  23
  4181.                   represents 11:00 p.m.
  4182.  
  4183.                   time number  should be a value  between 0 and  1.  InstaCalc
  4184.                   will  not  ignore a  mixed number;  it  will simply  use the
  4185.                   fractional part.
  4186.  
  4187.                   The @HOUR  function is most  often used in  conjunction with
  4188.                   other  date  and  time functions  to  return  only the  hour
  4189.                   portion of a previously entered value.  
  4190.  
  4191.  
  4192.  
  4193.         ---------------------------------------------------------------------
  4194.         @IF                                                            Logical
  4195.         ---------------------------------------------------------------------
  4196.         Function  Returns one of two values depending on a condition.
  4197.  
  4198.         Syntax    @IF(condition,x,y)
  4199.                   where  condition is  a conditional  statement, often  in the
  4200.                   form of an equation, other times  in the form of a  "greater
  4201.                   than" or "less than" statement  (or other inequality); and x
  4202.                   and y are values, functions, or strings.
  4203.  
  4204.  
  4205.                                           64
  4206.  
  4207.  
  4208.         Remarks   This functions evaluates  condition and returns  x if it  is
  4209.                   TRUE, and y if it is FALSE.
  4210.  
  4211.                   x and y may be both numeric, both text, or one of each.
  4212.  
  4213.  
  4214.         ---------------------------------------------------------------------
  4215.         @INDEX                                                            Data
  4216.         ---------------------------------------------------------------------
  4217.         Function  Looks up data in a array.
  4218.  
  4219.         Syntax    @INDEX(range,col,row)
  4220.                   where range is a range of cells, named or otherwise; and col
  4221.                   and row are numbers, cell addresses, or calculated values.
  4222.  
  4223.         Remarks   This  function  looks up  and  returns data  from  an array.
  4224.                   range is the array, and col and row are the offsets into the
  4225.                   array.  The  top row of range has a row  offset of 0 and the
  4226.                   left column of range has a column offset of 0.
  4227.  
  4228.  
  4229.  
  4230.         ---------------------------------------------------------------------
  4231.         @INT                                                      Mathematical
  4232.         ---------------------------------------------------------------------
  4233.         Function  Returns the integer part of a number.
  4234.  
  4235.         Syntax    @INT(x)
  4236.                   where x is a number, a cell address, or a calculated value.
  4237.  
  4238.         Remarks   This  function returns the integer part of a value, which is
  4239.                   the part of the argument which  is to the left (in front of)
  4240.                   the decimal point.   The sign of  the value returned  is the
  4241.                   same as that of the argument.
  4242.  
  4243.                   The  @INT  function  does   not  round  values  for  further
  4244.                   calculation.   (To round  numbers, use  @ROUND.)  It  merely
  4245.                   truncates the numbers; only the integer part of the value is
  4246.                   used in further calculations.   The sign of the value can be
  4247.                   either positive or negative.  
  4248.  
  4249.  
  4250.  
  4251.  
  4252.         ---------------------------------------------------------------------
  4253.         @IRR                                                         Financial
  4254.         ---------------------------------------------------------------------
  4255.         Function  Returns  the internal  rate of  return of  a series  of cash
  4256.         flows.
  4257.  
  4258.         Syntax    @IRR(estimate,range)
  4259.                   where  estimate is  a  number, cell  address, or  calculated
  4260.                   value; and range is a range of cells, named or otherwise.
  4261.  
  4262.         Remarks   This  function calculates  the  discount rate  at which  the
  4263.                   present value  of an outlay (investment)  equals the present
  4264.                   value  of  cash  inflows  stemming  (presumably)  from  that
  4265.  
  4266.  
  4267.                                           65
  4268.  
  4269.  
  4270.                   investment.   Another way of saying  this is that it  is the
  4271.                   discount  rate at which the net present value of outlays and
  4272.                   inflows is zero.
  4273.  
  4274.                   estimate should be a value between 0 and 1 that represents a
  4275.                   reasonable guess at  the rate of return  for the investment,
  4276.                   and range  is a  range of  cells that  contain the  net cash
  4277.                   flows resulting from the investment.  The first value in the
  4278.                   range must  be negative,  indicating an investment  was made
  4279.                   which constituted an outflow of moneys.
  4280.  
  4281.                   It is assumed  that the cash flows that appear  in the range
  4282.                   are received at regular  intervals.  They need not  be even,
  4283.                   but they should at least approximate regular flows.  
  4284.  
  4285.                   The @IRR function further  assumes that the income  from the
  4286.                   investment is reinvested at the rate of return.  If this not
  4287.                   the  case (as with a capital investment in plant equipment),
  4288.                   @IRR  will  be  overstated.   The  amount  of  overstatement
  4289.                   depends on  the disparity  between the  assumed reinvestment
  4290.                   and the actual rate of reinvestment.
  4291.  
  4292.                   Finally,  since @IRR  is calculated  by iteration,  a really
  4293.                   poor  estimate  may  cause  the  function  to  misstate  the
  4294.                   discount rate.
  4295.  
  4296.  
  4297.  
  4298.         ---------------------------------------------------------------------
  4299.         @ISERR                                                         Logical
  4300.         ---------------------------------------------------------------------
  4301.         Function  Tests whether an item is an error.
  4302.  
  4303.         Syntax    @ISERR(x)
  4304.                   where x is a cell reference or a formula.
  4305.  
  4306.         Remarks   This  function is used to  determine whether x  is the value
  4307.                   ERROR.   @ISERR is used  to stop ERROR  values from carrying
  4308.                   through to other parts of the worksheet.
  4309.  
  4310.  
  4311.  
  4312.         ---------------------------------------------------------------------
  4313.         @ISNUM                                                         Logical
  4314.         ---------------------------------------------------------------------
  4315.         Function  Tests whether an item is a number.
  4316.  
  4317.         Syntax    @ISNUM(x)
  4318.                   where x is a cell address or a formula.
  4319.  
  4320.         Remarks   This function returns the value 1 (TRUE) if x is a numerical
  4321.                   value; otherwise it returns the value 0 (FALSE).
  4322.  
  4323.  
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.                                           66
  4330.  
  4331.  
  4332.         ---------------------------------------------------------------------
  4333.         @ISTEXT                                                        Logical
  4334.         ---------------------------------------------------------------------
  4335.         Function  Tests whether an item is text.
  4336.  
  4337.         Syntax    @ISTEXT(x)
  4338.                   where x is a cell address or a formula.
  4339.  
  4340.         Remarks   This function  returns the value 1 (TRUE)  if x is a textual
  4341.                   value; otherwise it returns the value 0 (FALSE).
  4342.  
  4343.  
  4344.  
  4345.         ---------------------------------------------------------------------
  4346.         @LEFT                                                           String
  4347.         ---------------------------------------------------------------------
  4348.         Function  Returns the left part of a text string.
  4349.  
  4350.         Syntax    @LEFT(string,n)
  4351.                   where string is a  string in quotations, or a  cell address;
  4352.                   and n is a number, cell address, or calculated value.
  4353.  
  4354.         Remarks   This function returns the leftmost n characters from string.
  4355.  
  4356.  
  4357.  
  4358.         ---------------------------------------------------------------------
  4359.         @LEN                                                            String
  4360.         ---------------------------------------------------------------------
  4361.         Function  Returns the length of a text string.
  4362.  
  4363.         Syntax    @LEN(string)
  4364.                   where string is a string in quotations, or a cell address.
  4365.  
  4366.         Remarks   This function returns the number of characters in string.
  4367.  
  4368.  
  4369.  
  4370.         ---------------------------------------------------------------------
  4371.         @LN                                                       Mathematical
  4372.         ---------------------------------------------------------------------
  4373.         Function  Returns the natural logarithm of a number.
  4374.  
  4375.         Syntax    @LN(x)
  4376.                   where x is a number, a cell address, or a calculated value.
  4377.  
  4378.         Remarks   This function  calculates the natural logarithm  (base e) of
  4379.                   x.   It  is the  inverse of  the @EXP  function.   The value
  4380.                   cannot be  negative or equal to zero, or an ERROR value will
  4381.                   be returned.
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.                                           67
  4392.  
  4393.  
  4394.         ---------------------------------------------------------------------
  4395.         @LOG                                                      Mathematical
  4396.         ---------------------------------------------------------------------
  4397.         Function  Returns the common logarithm of a number.
  4398.  
  4399.         Syntax    @LOG(x)
  4400.                   where x is a number, a cell address, or a calculated value.
  4401.  
  4402.  
  4403.         Remarks   The @LOG function returns  the logarithm of x.   It uses the
  4404.                   base 10, and is the reciprocal of exponentiation.  The value
  4405.                   must  be greater than zero; a negative or zero value returns
  4406.                   an ERROR value.
  4407.  
  4408.  
  4409.  
  4410.         ---------------------------------------------------------------------
  4411.         @LOGB                                                     Mathematical
  4412.         ---------------------------------------------------------------------
  4413.         Function  Returns the logarithm (base b) of a number.
  4414.  
  4415.         Syntax    @LOGB(x,b)
  4416.                   where  x and  b are  numbers, cell addresses,  or calculated
  4417.                   values.
  4418.  
  4419.         Remarks   This  function calculates the logarithm  of x.   It uses the
  4420.                   base b,  and is the reciprocal of exponentiation.  x must be
  4421.                   greater  than zero,  otherwise @LOGB  will return  the value
  4422.                   ERROR.
  4423.  
  4424.  
  4425.         ---------------------------------------------------------------------
  4426.         @LOWER                                                          String
  4427.         ---------------------------------------------------------------------
  4428.         Function  Converts all the characters of a text string to lowercase.
  4429.  
  4430.         Syntax    @LOWER(string)
  4431.                   where string is a string in quotations, or a cell address.
  4432.  
  4433.         Remarks   The @LOWER function converts all of the characters in string
  4434.                   to lowercase letters.
  4435.  
  4436.  
  4437.  
  4438.         ---------------------------------------------------------------------
  4439.         @MAX                                                       Statistical
  4440.         ---------------------------------------------------------------------
  4441.         Function  Returns the maximum value from a list of values.
  4442.  
  4443.         Syntax    @MAX(list)
  4444.                   where list  is a list  of values  separated by commas,  or a
  4445.                   range containing values, or some combination of the two.
  4446.  
  4447.         Remarks   This function returns the largest value in list.
  4448.  
  4449.  
  4450.  
  4451.  
  4452.  
  4453.                                           68
  4454.  
  4455.  
  4456.         ---------------------------------------------------------------------
  4457.         @MEMORY                                                          Macro
  4458.         ---------------------------------------------------------------------
  4459.         Function  Returns the amount of memory available.
  4460.  
  4461.         Syntax    @MEMORY
  4462.  
  4463.         Remarks   This  function  returns  the   number  of  bytes  of  memory
  4464.                   available.
  4465.  
  4466.  
  4467.  
  4468.         ---------------------------------------------------------------------
  4469.         @MID                                                            String
  4470.         ---------------------------------------------------------------------
  4471.         Function  Returns the midsection of a text string.
  4472.  
  4473.         Syntax    @MID(string,start,n)
  4474.                   where string is a  string in quotations, or a  cell address;
  4475.                   and start and  n are numbers, cell  addresses, or calculated
  4476.                   values. 
  4477.         Remarks   This  function  searches  string,  starting with  the  start
  4478.                   character, and extracts and returns n characters.
  4479.  
  4480.  
  4481.         ---------------------------------------------------------------------
  4482.         @MIN                                                       Statistical
  4483.         ---------------------------------------------------------------------
  4484.         Function  Returns the minimum value from a list of values.
  4485.  
  4486.         Syntax    @MIN(list)
  4487.                   where list  is a list  of values separated  by commas, or  a
  4488.                   range containing values, or some combination of the two.
  4489.  
  4490.         Remarks   This function returns the smallest value in list.
  4491.  
  4492.  
  4493.  
  4494.  
  4495.         ---------------------------------------------------------------------
  4496.         @MINUTE                                                      Date/Time
  4497.         ---------------------------------------------------------------------
  4498.         Function  Returns the minute of a time number.
  4499.  
  4500.         Syntax    @MINUTE(time number)
  4501.                   where  time number is a  number, cell address, or calculated
  4502.                   value.
  4503.  
  4504.         Remarks   This function returns  the number of  the minute (between  0
  4505.                   and 59) represented by time number.
  4506.  
  4507.                   time  number  should  be  a  value  between  0  and  1  (not
  4508.                   inclusive).    InstaCalc  will  not  ignore  mixed  numbers;
  4509.                   rather, it will extract only the fractional part.
  4510.  
  4511.                   @MINUTE is most often useful  in conjunction with other date
  4512.                   and  time functions.   @MINUTE will extract  only the minute
  4513.  
  4514.  
  4515.                                           69
  4516.  
  4517.  
  4518.                   portion of a time value.
  4519.  
  4520.  
  4521.  
  4522.         ---------------------------------------------------------------------
  4523.         @MOD                                                      Mathematical
  4524.         ---------------------------------------------------------------------
  4525.         Function  Returns the remainder after dividing two numbers.
  4526.  
  4527.         Syntax    @MOD(x,y)
  4528.                   where x  and y  are numbers,  cell addresses,  or calculated
  4529.                   values.
  4530.  
  4531.         Remarks   This function returns the remainder after dividing x by y.
  4532.  
  4533.  
  4534.  
  4535.  
  4536.         ---------------------------------------------------------------------
  4537.         @MONTH                                                       Date/Time
  4538.         ---------------------------------------------------------------------
  4539.         Function  Returns the month of a date number.
  4540.  
  4541.         Syntax    @MONTH(date number)
  4542.                   where date number is  a number, cell address,  or calculated
  4543.                   value.
  4544.  
  4545.         Remarks   This function returns only the month portion (1..12) of date
  4546.                   number.
  4547.  
  4548.  
  4549.  
  4550.         ---------------------------------------------------------------------
  4551.         @NMONTH                                                      Date/Time
  4552.         ---------------------------------------------------------------------
  4553.         Function  Returns the name of a month.
  4554.  
  4555.         Syntax    @NMONTH(x)
  4556.                   where x is a number, cell address, or calculated value.
  4557.  
  4558.         Remarks   The @NMONTH function returns the name of month x.
  4559.  
  4560.                   @NMONTH  is  often  used  in  conjunction  with  the  @MONTH
  4561.                   function to return the month name of a date number.
  4562.  
  4563.  
  4564.  
  4565.         ---------------------------------------------------------------------
  4566.         @NOW                                                         Date/Time
  4567.         ---------------------------------------------------------------------
  4568.         Function  Returns the current date and time numbers.
  4569.  
  4570.         Syntax    @NOW
  4571.  
  4572.         Remarks   This function reads  the system clock and returns a combined
  4573.                   date and  time number for  the current  date and time.   The
  4574.                   integer part of the  result will be the date number  for the
  4575.  
  4576.  
  4577.                                           70
  4578.  
  4579.  
  4580.                   current  date, and the fractional part of the result will be
  4581.                   the time number for the current time.
  4582.  
  4583.  
  4584.         ---------------------------------------------------------------------
  4585.         @NPV                                                         Financial
  4586.         ---------------------------------------------------------------------
  4587.         Function  Returns the net  present value  of a series  of future  cash
  4588.         flows.
  4589.  
  4590.         Syntax    @NPV(int,range)
  4591.                   where  int  is a  number, a  cell  address, or  a calculated
  4592.                   value, and range is a range of cells, named or otherwise.
  4593.  
  4594.         Remarks   This function calculates  the net present value  of a series
  4595.                   of  future cash flows in range, given the discount rate int.
  4596.                   Each  of the  future  cash flows  are  brought back  to  the
  4597.                   present; that is, each  flow receives its equivalent present
  4598.                   value.
  4599.  
  4600.                   The period of the discount must agree with the period of the
  4601.                   cash flows.   That is, if the  cash flows are  yearly flows,
  4602.                   then the  discount rate must be  a yearly rate; if  the cash
  4603.                   flows are monthly,  then the discount rate  must be monthly.
  4604.                   Generally, yearly cash flows will be  accurate enough.  Even
  4605.                   if  the flows actually come  on a monthly  basis, summing up
  4606.                   those flows into a  single yearly flow will only  change the
  4607.                   answer by a small percentage.
  4608.  
  4609.                   @NPV assumes that the period between cash flows is constant.
  4610.                   @NPV  assumes  end-of-period-payments.    For  beginning-of-
  4611.                   period-payments, multiply the answer by (1+int).
  4612.  
  4613.  
  4614.  
  4615.         ---------------------------------------------------------------------
  4616.         @PI                                                       Trigonometry
  4617.         ---------------------------------------------------------------------
  4618.         Function  Returns the value of pi (3.14159...).
  4619.  
  4620.         Syntax    @PI
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.         ---------------------------------------------------------------------
  4627.         @PMT                                                         Financial
  4628.         ---------------------------------------------------------------------
  4629.         Function  Returns the payment required to amortize a loan amount.
  4630.  
  4631.         Syntax    @PMT(prin,int,term)
  4632.                   where prin,  int, and term  are numbers, cell  addresses, or
  4633.                   calculated values.
  4634.  
  4635.         Remarks   This  function calculates  the periodic payment  required to
  4636.                   amortize a loan amount, given  the amount of principal,  the
  4637.  
  4638.  
  4639.                                           71
  4640.  
  4641.  
  4642.                   periodic interest rate, and the number of payments.
  4643.  
  4644.                   prin is the total  amount of principal, int is  the periodic
  4645.                   interest rate, and  term is  the number of  payments in  the
  4646.                   loan.
  4647.  
  4648.                   The @PMT function assumes a fixed rate of interest.  It also
  4649.                   requires  (like all  of  the financial  functions) that  the
  4650.                   interest  and term  in the  argument  are expressed  in like
  4651.                   intervals;  that  is,  a  monthly term  requires  a  monthly
  4652.                   interest rate.
  4653.  
  4654.         ---------------------------------------------------------------------
  4655.         @POINTER                                                          Data
  4656.         ---------------------------------------------------------------------
  4657.         Function  Returns information about the current cell.
  4658.  
  4659.         Syntax    @POINTER(attribute)
  4660.                   where  attribute  is  a  string  in  quotations  or  a  cell
  4661.                   reference.
  4662.  
  4663.         Remarks   This function returns various types of information about the
  4664.                   cell  which the cell pointer is currently in.  This function
  4665.                   is  intended  for use  in  application  programs which  need
  4666.                   information about  the current  cell.   attribute determines
  4667.                   what  information  is  returned,  and  must  be  one of  the
  4668.                   following strings; "address",  "col", "contents",  "format",
  4669.                   "prefix", "protect", "row", or "type".
  4670.  
  4671.         Example   attribute      @POINTER returns
  4672.                   "address"      the name of the current cell (for example B5)
  4673.  
  4674.                   "col"          the column number of the current cell (1 thru
  4675.                                  256)
  4676.  
  4677.                   "contents"     the contents of the current cell
  4678.  
  4679.                   "format"       the formatting of the current cell
  4680.                                  0 Default
  4681.                                  1 Fixed
  4682.                                  2 Currency
  4683.                                  3 Percent
  4684.                                  4 Scientific
  4685.                                  5 Hidden
  4686.                                  6 Text
  4687.                                  7 Fixed with commas
  4688.                                  8 Currency with commas
  4689.                                  9 Percent with commas
  4690.                                  10 dd-mmm-yy
  4691.                                  11 dd-mmm
  4692.                                  12 mmm-yy
  4693.                                  13 mm/dd/yy
  4694.                                  14 Month DD, YYYY
  4695.                                  15 HH:MM AM/PM
  4696.                                  16 HH:MM Military
  4697.                                  17 General
  4698.  
  4699.  
  4700.  
  4701.                                           72
  4702.  
  4703.  
  4704.                   "prefix"       the  justification  character of  the current
  4705.                                  cell
  4706.                                  ' if left justified
  4707.                                  " if right justified
  4708.                                  ^ if centered
  4709.                                  blank if the cell doesn't contain text
  4710.  
  4711.                   "protect"      the protection status of the current cell
  4712.                                  0 = Not protected, 1 = Protected
  4713.  
  4714.                   "row"          the row number of the current cell (1 through
  4715.                                  4096)
  4716.  
  4717.                   "type"         the type of data in the current cell
  4718.                                  BLANK,   FORMAT,   NUMBER,   TEXT,   FORMULA,
  4719.                                  TXTFORM, ERROR
  4720.  
  4721.  
  4722.  
  4723.  
  4724.         ---------------------------------------------------------------------
  4725.         @PROPER                                                         String
  4726.         ---------------------------------------------------------------------
  4727.         Function  Capitalizes the first letter of each word in a text string.
  4728.  
  4729.         Syntax    @PROPER(string)
  4730.                   where string is a string in quotations, or a cell address.
  4731.  
  4732.         Remarks   This function converts  the first letter of  words in string
  4733.                   to uppercase.
  4734.  
  4735.                   @PROPER  will only  recognize  words that  are separated  by
  4736.                   spaces, or other non alpha characters.
  4737.  
  4738.  
  4739.  
  4740.  
  4741.         ---------------------------------------------------------------------
  4742.         @PV                                                          Financial
  4743.         ---------------------------------------------------------------------
  4744.         Function  Returns the present value of an annuity.
  4745.  
  4746.         Syntax    @PV(pmt,int,term)
  4747.                   where pmt,  int, and term  are numbers,  cell addresses,  or
  4748.                   calculated values.
  4749.  
  4750.         Remarks   This function  calculates the  present value of  an annuity,
  4751.                   given the periodic payment,  the periodic interest rate, and
  4752.                   the number of periods.
  4753.  
  4754.                   pmt is the payment per period,  int is the interest rate per
  4755.                   period, and term is the total number of payments.
  4756.  
  4757.                   The @PV function does  precisely the same thing as  the @NPV
  4758.                   function, except that all  payments are equal.  Thus,  it is
  4759.                   only  necessary to enter the  amount once, rather  than as a
  4760.                   series of values.
  4761.  
  4762.  
  4763.                                           73
  4764.  
  4765.  
  4766.                   The interest rate and term must agree; monthly payments must
  4767.                   be accompanied by a monthly term.
  4768.  
  4769.                   @PV  assumes  end-of-period-payments.     For  beginning-of-
  4770.                   period-payments, multiply the answer by (1+int).
  4771.  
  4772.  
  4773.  
  4774.  
  4775.         ---------------------------------------------------------------------
  4776.         @QUARTER                                                     Date/Time
  4777.         ---------------------------------------------------------------------
  4778.         Function  The Quarter Function
  4779.  
  4780.         Syntax    @QUARTER(date number)
  4781.                   where date number is  a number, cell address,  or calculated
  4782.                   value.
  4783.  
  4784.         Remarks   This  function returns the number of the quarter of the year
  4785.                   (1 to  4) of  date  number.   The quarters  are: Quarter  1,
  4786.                   January  1 to  March  31; Quarter  2,  April 1  to  June 30;
  4787.                   Quarter 3, July  1 to September 30; and Quarter 4, October 1
  4788.                   to December 31.
  4789.  
  4790.  
  4791.  
  4792.         ---------------------------------------------------------------------
  4793.         @RADIANS                                                  Trigonometry
  4794.         ---------------------------------------------------------------------
  4795.         Function  Converts degrees to radians.
  4796.  
  4797.         Syntax    @RADIANS(x)
  4798.                   where x is  a number, a cell address, or a calculated value.
  4799.  
  4800.         Remarks   This function converts the angle x from degrees to radians.
  4801.  
  4802.                   Since InstaCalc's trigonometry  functions require angles  to
  4803.                   be expressed in radians, the @RADIANS function is useful for
  4804.                   making this conversion.
  4805.  
  4806.         ---------------------------------------------------------------------
  4807.         @RAND                                                     Mathematical
  4808.         ---------------------------------------------------------------------
  4809.         Function  Returns a uniformly distributed random number.
  4810.  
  4811.         Syntax    @RAND
  4812.  
  4813.         Remarks   This  function generates  a random  number which  is greater
  4814.                   than or equal to  zero and is less  than one.  The  value of
  4815.                   @RAND  will change to a new random  value each time the cell
  4816.                   (not the Worksheet) is recalculated.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.                                           74
  4826.  
  4827.  
  4828.         ---------------------------------------------------------------------
  4829.         @RATE                                                        Financial
  4830.         ---------------------------------------------------------------------
  4831.         Function  Returns the interest rate at which a present value will grow
  4832.                   to a future value.
  4833.  
  4834.         Syntax    @RATE(pv,fv,term)
  4835.                   where  pv, fv,  and  term are  numbers,  cell addresses,  or
  4836.                   calculated values.
  4837.  
  4838.         Remarks   This function returns  the interest rate at  which a present
  4839.                   value  will  grow into  a future  value  during a  number of
  4840.                   periods.  pv is  the present value amount of  an investment,
  4841.                   fv is the future value amount of the investment, and term is
  4842.                   the number of periods.
  4843.  
  4844.                   The periods are assumed to be regular intervals.  Converting
  4845.                   the compound growth rate  on a yearly basis, given  that the
  4846.                   term is expressed in months, simply requires that the answer
  4847.                   be multiplied by 12.
  4848.  
  4849.         ---------------------------------------------------------------------
  4850.         @REPEAT                                                         String
  4851.         ---------------------------------------------------------------------
  4852.         Function  Repeats text a given number of times.
  4853.  
  4854.         Syntax    @REPEAT(string,n)
  4855.                   where  string is a string  in quotations or  a cell address;
  4856.                   and n is a number, cell address, or calculated value.
  4857.  
  4858.         Remarks   This function returns string repeated n times.
  4859.  
  4860.  
  4861.  
  4862.         ---------------------------------------------------------------------
  4863.         @REPLACE                                                        String
  4864.         ---------------------------------------------------------------------
  4865.         Function  Replaces a substring in a string with a new string.
  4866.  
  4867.         Syntax    @REPLACE(string,start,n,new string)
  4868.                   where  string and  new string  are strings in  quotations or
  4869.                   cell addresses; and start and n are numbers, cell addresses,
  4870.                   or calculated values.
  4871.  
  4872.         Remarks   This function  removes n characters from  string at position
  4873.                   start, and inserts new string at the same position.
  4874.  
  4875.  
  4876.  
  4877.         ---------------------------------------------------------------------
  4878.         @RIGHT                                                          String
  4879.         ---------------------------------------------------------------------
  4880.         Function  Returns the right part of a text string.
  4881.  
  4882.         Syntax    @RIGHT(string,n)
  4883.                   where  string is a string  in quotations or  a cell address,
  4884.                   and n is a number, cell address, or calculated value. 
  4885.  
  4886.  
  4887.                                           75
  4888.  
  4889.  
  4890.         Remarks   This function extracts and returns n characters from the end
  4891.                   of string.  If n is greater than the number of characters in
  4892.                   string, then the entire string is returned.
  4893.  
  4894.  
  4895.  
  4896.         ---------------------------------------------------------------------
  4897.         @ROUND                                                    Mathematical
  4898.         ---------------------------------------------------------------------
  4899.         Function  Rounds a value to a given number of decimal places.
  4900.  
  4901.         Syntax    @ROUND(x,n)
  4902.                   where  x and  n are numbers,  cell addresses,  or calculated
  4903.                   values.
  4904.  
  4905.         Remarks   This function returns the value of x rounded to n places.
  4906.  
  4907.                   n  can be either positive  or negative; when  n is negative,
  4908.                   the  program  rounds n  digits to  the  left of  the decimal
  4909.                   point.   When n is positive, the  program rounds n digits to
  4910.                   the right of the decimal.
  4911.  
  4912.  
  4913.  
  4914.         ---------------------------------------------------------------------
  4915.         @ROWS                                                             Data
  4916.         ---------------------------------------------------------------------
  4917.         Function  Returns the number of rows in a range.
  4918.  
  4919.         Syntax    @ROWS(range)
  4920.  
  4921.         Remarks   This function returns the number of rows in range.  @ROWS is
  4922.                   particularly useful when used with named ranges.
  4923.  
  4924.  
  4925.  
  4926.  
  4927.         ---------------------------------------------------------------------
  4928.         @SAMPSTD                                                   Statistical
  4929.         ---------------------------------------------------------------------
  4930.         Function  Returns the standard deviation of a list of sample values.
  4931.  
  4932.         Syntax    @SAMPSTD(list)
  4933.                   where list  is a  list of values  separated by commas,  or a
  4934.                   range containing values, or some combination of the two.
  4935.  
  4936.         Remarks   This  function  calculates  the  standard  deviation  of the
  4937.                   values in list.
  4938.  
  4939.  
  4940.  
  4941.         ---------------------------------------------------------------------
  4942.         @SAMPVAR                                                   Statistical
  4943.         ---------------------------------------------------------------------
  4944.         Function  Returns the variance of a list of sample values.
  4945.  
  4946.         Syntax    @SAMPVAR(list)
  4947.  
  4948.  
  4949.                                           76
  4950.  
  4951.  
  4952.                   where list  is a list  of values  separated by commas,  or a
  4953.                   range containing values, or some combination of the two.
  4954.  
  4955.         Remarks   This function  returns the variance of  the values contained
  4956.                   in list.
  4957.  
  4958.  
  4959.  
  4960.         ---------------------------------------------------------------------
  4961.         @SECOND                                                      Date/Time
  4962.         ---------------------------------------------------------------------
  4963.         Function  Returns the second of a time number.
  4964.  
  4965.         Syntax    @SECOND(time number)
  4966.                   where  time number  is  a  number,  a  cell  address,  or  a
  4967.                   calculated value.
  4968.  
  4969.         Remarks   This  function returns the  value in seconds  (between 0 and
  4970.                   59) of time number.
  4971.  
  4972.                   time  number should be a  value between 0  and 1.  InstaCalc
  4973.                   will not ignore mixed numbers; rather, it will extract  only
  4974.                   the fractional part.  The argument  may be either a value, a
  4975.                   cell reference to a value, or a  cell reference to a formula
  4976.                   which calculates a value.
  4977.  
  4978.  
  4979.  
  4980.         ---------------------------------------------------------------------
  4981.         @SIGN                                                     Mathematical
  4982.         ---------------------------------------------------------------------
  4983.         Function  Returns the sign of a number.
  4984.  
  4985.         Syntax    @SIGN(x)
  4986.                   where x is a number, a cell address, or a calculated value.
  4987.  
  4988.         Remarks   This function returns the sign of its x.  If  x is negative,
  4989.                   the  function  returns -1.    If  x positive,  the  function
  4990.                   returns 1.  If x is 0, the function returns 0.
  4991.  
  4992.  
  4993.  
  4994.         ---------------------------------------------------------------------
  4995.         @SIN                                                      Trigonometry
  4996.         ---------------------------------------------------------------------
  4997.         Function  Returns the sine of an angle.
  4998.  
  4999.         Syntax    @SIN(x)
  5000.                   where x is a number, a cell address, or a calculated value.
  5001.  
  5002.         Remarks   This function returns the sine of the angle x.  x must be in
  5003.                   radians.  If  x is  in degrees, then  the @RADIANS  function
  5004.                   must be used to convert x to radians.  The value returned by
  5005.                   the @SIN function will always lie between -1 and 1.
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.                                           77
  5012.  
  5013.  
  5014.         ---------------------------------------------------------------------
  5015.         @SINH                                                     Trigonometry
  5016.         ---------------------------------------------------------------------
  5017.         Function  Returns the hyperbolic sine of an angle.
  5018.  
  5019.         Syntax    @SINH(x)
  5020.                   where x is a number, a cell address, or a calculated value.
  5021.  
  5022.         Remarks   This function returns the hyperbolic sine of the angle x.  x
  5023.                   must  be in radians.  If x  is in degrees, then the @RADIANS
  5024.                   function must be used to convert x to radians.
  5025.  
  5026.  
  5027.  
  5028.         ---------------------------------------------------------------------
  5029.         @SLN                                                         Financial
  5030.         ---------------------------------------------------------------------
  5031.         Function  Returns the  amount of  depreciation of an  asset using  the
  5032.                   straight line method.
  5033.  
  5034.         Syntax    @SLN(cost,salvage,life)
  5035.                   where cost,  salvage, and life are  numbers, cell addresses,
  5036.                   or calculated values.
  5037.  
  5038.         Remarks   This  function   calculates  and   returns  the   amount  of
  5039.                   depreciation of  an asset using the  Straight-Line method of
  5040.                   accelerated  depreciation.  cost  is the cost  of the asset,
  5041.                   salvage  is the  salvage  value of  the  asset after  it  is
  5042.                   totally  depreciated, and  life is  the useful  life of  the
  5043.                   asset.  
  5044.  
  5045.  
  5046.         ---------------------------------------------------------------------
  5047.         @SQRT                                                     Mathematical
  5048.         ---------------------------------------------------------------------
  5049.         Function  Returns the square root of a value.
  5050.  
  5051.         Syntax    @SQRT(x)
  5052.                   where x is a number, a cell address, or a calculated value.
  5053.  
  5054.         Remarks   This function  returns  the square  root of  x.   x must  be
  5055.                   positive,  since  any two  negative  numbers  multiply to  a
  5056.                   positive number.
  5057.  
  5058.  
  5059.  
  5060.  
  5061.         ---------------------------------------------------------------------
  5062.         @STD                                                       Statistical
  5063.         ---------------------------------------------------------------------
  5064.         Function  Returns the standard deviation of a list of values.
  5065.  
  5066.         Syntax    @STD(list)
  5067.                   where list  is a list  of values separated  by commas, or  a
  5068.                   range containing values, or some combination of the two.
  5069.  
  5070.         Remarks   This  function  calculates  the  standard deviation  of  the
  5071.  
  5072.  
  5073.                                           78
  5074.  
  5075.  
  5076.                   values in list.
  5077.  
  5078.  
  5079.  
  5080.         ---------------------------------------------------------------------
  5081.         @STRING                                                         String
  5082.         ---------------------------------------------------------------------
  5083.         Function  Converts a value to a string.
  5084.  
  5085.         Syntax    @STRING(x,n)
  5086.                   where  x and  n are  values, cell  addresses, or  calculated
  5087.                   values.
  5088.  
  5089.         Remarks   This function converts x to a string with n decimal places.
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.         ---------------------------------------------------------------------
  5096.         @SUM                                                       Statistical
  5097.         ---------------------------------------------------------------------
  5098.         Function  Returns the sum of a list of values.
  5099.  
  5100.         Syntax    @SUM(list)
  5101.                   where  list is a  list of values  separated by commas,  or a
  5102.                   range containing values, or some combination of the two.
  5103.  
  5104.         Remarks   This function adds up all of the values contained in list.
  5105.  
  5106.         Example   =@sum(A1..B20)
  5107.  
  5108.  
  5109.  
  5110.  
  5111.         ---------------------------------------------------------------------
  5112.         @SYD                                                         Financial
  5113.         ---------------------------------------------------------------------
  5114.         Function  Returns the amount of depreciation of an asset using the Sum
  5115.                   of the Years' Digits method.
  5116.  
  5117.         Syntax    @SYD(cost,salvage,life,period)
  5118.                   where  cost, salvage,  life,  and period  are numbers,  cell
  5119.                   addresses, or calculated values.
  5120.  
  5121.         Remarks   This function  calculates the  amount of depreciation  of an
  5122.                   asset   using   the   Sum-of-the-Years'-Digits   method   of
  5123.                   accelerated depreciation.
  5124.  
  5125.                   cost is the cost  of the asset, salvage is the salvage value
  5126.                   of  the asset after it  is totally depreciated,  life is the
  5127.                   useful  life of the asset,  and period is  the period within
  5128.                   that life in which the depreciation is being calculated.
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.                                           79
  5136.  
  5137.  
  5138.         ---------------------------------------------------------------------
  5139.         @TAN                                                      Trigonometry
  5140.         ---------------------------------------------------------------------
  5141.         Function  Returns the tangent of an angle.
  5142.  
  5143.         Syntax    @TAN(x)
  5144.                   where x is a number, a cell address, or a calculated value.
  5145.  
  5146.         Remarks   This function returns the tangent of the angle x.  x must be
  5147.                   expressed in radians.  If x is in degrees, then the @RADIANS
  5148.                   function must be used to convert x to radians.
  5149.  
  5150.  
  5151.  
  5152.  
  5153.         ---------------------------------------------------------------------
  5154.         @TANH                                                     Trigonometry
  5155.         ---------------------------------------------------------------------
  5156.         Function  Returns the hyperbolic tangent of an angle.
  5157.  
  5158.         Syntax    @TANH(x)
  5159.                   where x is a number, a cell address, or a calculated value.
  5160.  
  5161.         Remarks   This function returns the hyperbolic tangent of the angle x.
  5162.                   x must  be expressed in radians.   If x is  in degrees, then
  5163.                   the @RADIANS function must be used to convert x to radians.
  5164.  
  5165.  
  5166.  
  5167.         ---------------------------------------------------------------------
  5168.         @TERM                                                        Financial
  5169.         ---------------------------------------------------------------------
  5170.         Function  Returns the number of  periods for an investment to  reach a
  5171.                   future value.
  5172.  
  5173.         Syntax    @TERM(pmt,int,fv)
  5174.                   where  pmt,  int, and  fv  are numbers,  cell  addresses, or
  5175.                   calculated values.
  5176.  
  5177.         Remarks   This  function returns the number of terms needed to reach a
  5178.                   specified  future value,  given  an interest  rate (rate  of
  5179.                   return)  and  the value  of equal  payment  to be  made each
  5180.                   period.
  5181.  
  5182.                   pmt is the amount of the equal periodic payments, int is the
  5183.                   interest  rate or  expected rate  of return,  and fv  is the
  5184.                   future value to be reached.
  5185.  
  5186.  
  5187.  
  5188.         ---------------------------------------------------------------------
  5189.         @TIME                                                        Date/Time
  5190.         ---------------------------------------------------------------------
  5191.         Function  Returns a time number for a time.
  5192.  
  5193.         Syntax    @TIME(hour,min,sec)
  5194.                   where  hour, min, and  sec are  numbers, cell  addresses, or
  5195.  
  5196.  
  5197.                                           80
  5198.  
  5199.  
  5200.                   calculated values.
  5201.  
  5202.         Remarks   This  function returns a time  number between 0  and 1, from
  5203.                   hour, min, and sec.
  5204.  
  5205.                   hour is the hour  of the day (between 0 and 23),  min is the
  5206.                   minute  of the  hour  (between 0  and 59),  and  sec is  the
  5207.                   seconds of the minute (between 0 and 59).
  5208.  
  5209.                   It is usually  necessary to format the cell containing @TIME
  5210.                   using the /Cell Format Date command.
  5211.  
  5212.  
  5213.  
  5214.         ---------------------------------------------------------------------
  5215.         @TODAY                                                       Date/Time
  5216.         ---------------------------------------------------------------------
  5217.         Function  Returns the date number of the current date.
  5218.  
  5219.         Syntax    @TODAY
  5220.  
  5221.         Remarks   This function reads  the system clock  and returns the  date
  5222.                   number for the current date.  
  5223.  
  5224.  
  5225.  
  5226.         ---------------------------------------------------------------------
  5227.         @TRIM                                                           String
  5228.         ---------------------------------------------------------------------
  5229.         Function  Trims all extra spaces out of a text string.
  5230.  
  5231.         Syntax    @TRIM(string)
  5232.                   where string is a string in quotations, or a cell address.
  5233.  
  5234.         Remarks   This  function strips  all  extra spaces  from string.   The
  5235.                   result contains only single spaces between words.
  5236.  
  5237.  
  5238.  
  5239.  
  5240.         ---------------------------------------------------------------------
  5241.         @TRUE                                                          Logical
  5242.         ---------------------------------------------------------------------
  5243.         Function  Returns the value TRUE (1).
  5244.  
  5245.         Syntax    @TRUE
  5246.  
  5247.  
  5248.         ---------------------------------------------------------------------
  5249.         @UPPER                                                          String
  5250.         ---------------------------------------------------------------------
  5251.         Function  Converts all the characters of a text string to uppercase.
  5252.  
  5253.         Syntax    @UPPER(string)
  5254.                   where string is a string in quotations, or a cell address.
  5255.  
  5256.  
  5257.  
  5258.  
  5259.                                           81
  5260.  
  5261.  
  5262.         ---------------------------------------------------------------------
  5263.         @VALUE                                                          String
  5264.         ---------------------------------------------------------------------
  5265.         Function  Returns the value that a text string looks like.
  5266.  
  5267.         Syntax    @VALUE(string)
  5268.                   where string is a string in quotations or a cell address.
  5269.  
  5270.         Remarks   This  function converts string into a value that can be used
  5271.                   in formulas, equations, and other calculations.
  5272.  
  5273.  
  5274.  
  5275.         ---------------------------------------------------------------------
  5276.         @VAR                                                       Statistical
  5277.         ---------------------------------------------------------------------
  5278.         Function  Returns the variance of a list of values.
  5279.  
  5280.         Syntax    @VAR(list)
  5281.                   where list is  a list of  values separated by  commas, or  a
  5282.                   range containing values, or some combination of the two.
  5283.  
  5284.         Remarks   This function  returns the variance of  the values contained
  5285.                   in list.
  5286.  
  5287.  
  5288.  
  5289.  
  5290.  
  5291.         ---------------------------------------------------------------------
  5292.         @VLOOKUP                                                          Data
  5293.         ---------------------------------------------------------------------
  5294.         Function  Looks up an item in a vertical lookup table.
  5295.  
  5296.         Syntax    @VLOOKUP(x,range,col offset)
  5297.                   where range is a range of cells, named or otherwise; and col
  5298.                   offset is a number, cell address, or calculated value; and x
  5299.                   is a number, text, cell address, or calculated value.
  5300.  
  5301.         Remarks   This function looks up and retrieves  a value or text from a
  5302.                   vertical  lookup table.  range  is the range  of cells which
  5303.                   makes up the lookup table.
  5304.  
  5305.                   If x is text, @VLOOKUP will  compare x with each cell in the
  5306.                   left column of range, and if a match is found, will move col
  5307.                   offset  columns from that cell, and will return the value in
  5308.                   the resulting cell.  If x does not match any of the cells in
  5309.                   the left  column  of range,  then @VLOOKUP  will return  the
  5310.                   value ERROR.
  5311.  
  5312.                   If x  is a value  instead of  text, @VLOOKUP will  compare x
  5313.                   with each cell in the left column of range until  it finds a
  5314.                   cell which is  greater than or equal to x.   This means that
  5315.                   the  values in the left column of range must be in ascending
  5316.                   order for @VLOOKUP to work correctly.   If the value in  the
  5317.                   cell is equal  to x, @VLOOKUP will consider it  a match.  If
  5318.                   the cell is  greater than x,  @VLOOKUP will  move up to  the
  5319.  
  5320.  
  5321.                                           82
  5322.  
  5323.  
  5324.                   previous cell and consider it a  match.  For example, if the
  5325.                   values in the  left column of range  are 100, 200, 300,  and
  5326.                   400, and  the value of  x is 250, then  @VLOOKUP will search
  5327.                   until it reaches 300,  and will then  move back and use  the
  5328.                   cell containing  200 as the match.   When a  match is found,
  5329.                   @VLOOKUP will  move col offset  columns from that  cell, and
  5330.                   will  return the  value  in the  resulting cell.    If x  is
  5331.                   smaller than  the first cell  in the  left column,  @VLOOKUP
  5332.                   will return the value ERROR. 
  5333.  
  5334.  
  5335.         ---------------------------------------------------------------------
  5336.         @WEEKDAY                                                     Date/Time
  5337.         ---------------------------------------------------------------------
  5338.         Function  Returns the day of the week for a date number.
  5339.  
  5340.         Syntax    @WEEKDAY(date number)
  5341.                   where  date number  is  a  number,  a  cell  address,  or  a
  5342.                   calculated value.
  5343.  
  5344.         Remarks   This  function  returns  the  day of  the  week  (numbered 1
  5345.                   through 7, with  1 being  Sunday and 7  being Saturday)  for
  5346.                   date number.
  5347.  
  5348.  
  5349.  
  5350.         ---------------------------------------------------------------------
  5351.         @YEAR                                                        Date/Time
  5352.         ---------------------------------------------------------------------
  5353.         Function  Returns the year of a date number.
  5354.  
  5355.         Syntax    @YEAR(date number)
  5356.                   where  date number  is  a  number,  a  cell  address,  or  a
  5357.                   calculated value.
  5358.  
  5359.         Remarks   This function returns the year of date number.  For years in
  5360.                   the 1900's, the  final 2 digits are returned.   For the year
  5361.                   2000 @YEAR will return the value 100.
  5362.  
  5363.  
  5364.  
  5365.         ---------------------------------------------------------------------
  5366.         @@                                                                Data
  5367.         ---------------------------------------------------------------------
  5368.         Function  Returns data from a cell through an indirect reference.
  5369.  
  5370.         Syntax    @@(cellname)
  5371.                   where cellname is a string in quotations or a cell address
  5372.  
  5373.         Remarks   This  function will  return the  contents of the  cell named
  5374.                   cellname.
  5375.  
  5376.  
  5377.  
  5378.  
  5379.  
  5380.  
  5381.  
  5382.  
  5383.                                           83
  5384.  
  5385.  
  5386.         INSTACALC APPLICATIONS
  5387.         ----------------------
  5388.         InstaCalc provides  a  programming environment  which you  can use  to
  5389.         create any application, from  a simple time-saving keystroke repeating
  5390.         routine to a fully customized business application.
  5391.  
  5392.         An InstaCalc application simply consists of a text file containing the
  5393.         commands which you would like InstaCalc to execute.  You may give your
  5394.         program files  any valid DOS name, but the extension must be .MAC (for
  5395.         example MYPROG.MAC).   Your program can  consist of keystroke  macros,
  5396.         InstaCalc Command Environment (ICE) commands, or both.
  5397.  
  5398.         Macros
  5399.         ------
  5400.         A keystroke macro  is simply  a sequence of  keystrokes following  the
  5401.         apostrophe  character  '.   When  InstaCalc  encounters  one of  these
  5402.         keystroke  sequences in your program, it  simply treats the keystrokes
  5403.         as if you typed them in yourself.  For example, if you place the line:
  5404.  
  5405.         '/wic<Enter>
  5406.  
  5407.         into  your  application  program,  then InstaCalc  will  automatically
  5408.         insert two columns when it executes this line.   It does this by first
  5409.         typing  the / character  (which will bring  up the menu),  then W (for
  5410.         WorkSheet), then I (for insert), then C (for column),  and finally the
  5411.         <Enter> key (to complete the command).
  5412.  
  5413.  
  5414.         Commands
  5415.         --------
  5416.         The InstaCalc Command Environment (ICE) is a set of instructions which
  5417.         provides  flexible  I/O  capabilities,  numerous  control  structures,
  5418.         printer and DOS  access, and more.  In fact, you may find that the ICE
  5419.         commands  are so versatile that many of your application programs will
  5420.         need few if any keystroke macros.
  5421.  
  5422.  
  5423.  
  5424.         CREATING AN APPLICATION
  5425.         -----------------------
  5426.         The easiest way to create a keystroke macro  is with InstaCalc's Macro
  5427.         Recorder.     To  begin  recording  a  macro,  you  simply  press  the
  5428.         <Ctrl><F10> key.  You  then press the key you want to assign the macro
  5429.         to, and  begin typing the keys to record.   When you are ready to stop
  5430.         recording, just press  the <Ctrl><F10> key again.  Your  macro will be
  5431.         stored in  a file whose name  corresponds to the key  you assigned the
  5432.         macro to.   For example,  a macro assigned  to <Ctrl>T would  be named
  5433.         CTRLT.MAC.
  5434.  
  5435.         Later, when you press <Ctrl>T, InstaCalc will look for the application
  5436.         file CTRLT.MAC, and run it if it exists.  If it doesn't exist, then an
  5437.         error  message will pop  up.  Applications or  keystroke macros can be
  5438.         assigned to just about any key which isn't already defined and used by
  5439.         InstaCalc.   For example,  you can't  redefine  the arrow  keys to  do
  5440.         something else, but you can assign other keys to do the same  thing as
  5441.         the arrow keys.  
  5442.  
  5443.  
  5444.  
  5445.                                           84
  5446.  
  5447.  
  5448.         Applications may also be created with a text editor, just as you would
  5449.         write a program  in any programming language.   InstaCalc applications
  5450.         are not limited to simple keystroke macros.  InstaCalc supplies a rich
  5451.         programming  language  which   provides  flexible  I/O   capabilities,
  5452.         numerous  control  structures  (If/Then/Else, For/Next,  Repeat/Until,
  5453.         While/Endwhile, etc),  access to  DOS commands and  external programs,
  5454.         and more. 
  5455.  
  5456.         These applications can be written using either the simple editor which
  5457.         InstaCalc provides (/Macro  Edit), or outside  of InstaCalc with  your
  5458.         own text  editor.  You  may give your  application any valid  DOS name
  5459.         (the extension must  be .MAC),  including one of  the keystroke  names
  5460.         (such  as  ALTX.MAC).   This  allows  you  to  run extremely  powerful
  5461.         applications at the press of a key.  
  5462.  
  5463.         There are  a number of advantages  to having applications  reside in a
  5464.         file rather than in the worksheet itself.
  5465.  
  5466.         - The application can load  and save data files without being  written
  5467.         over by the incoming worksheet.
  5468.  
  5469.         - You can  create large libraries of applications and macros which can
  5470.         be used  in any worksheet  without having  to load the  entire library
  5471.         into memory each time.
  5472.  
  5473.         - Large applications can  be broken into  smaller parts, and only  the
  5474.         part  which is  running needs  to be  in memory.   This means  you can
  5475.         create  and run applications which  would normally require more memory
  5476.         than is available.
  5477.  
  5478.  
  5479.  
  5480.         RUNNING AN APPLICATION
  5481.         ----------------------
  5482.         Once you have created your application program, you will probably want
  5483.         to  run  it.   There are  many ways  to  run an  InstaCalc application
  5484.         program which you have created.
  5485.  
  5486.         /Macro Run: You can  run an application program  from the menus  using
  5487.         the  /Macro Run  command.   You  will be  asked  for the  name of  the
  5488.         application program to run.   If you press <Enter> without entering  a
  5489.         name, the InstaCalc file manager will pop up from which you may select
  5490.         the application from.
  5491.  
  5492.         Keystroke:  If you  have  named  your  application  with  one  of  the
  5493.         keystroke names, you can run the application by pressing the key.  For
  5494.         example,  if the  application file  is named  CTRLX.MAC then  pressing
  5495.         <Ctrl>X will run the application.
  5496.  
  5497.         Worksheet: You can also give your  application the same name as one of
  5498.         your worksheets (except  that the  extension will be  .MAC instead  of
  5499.         .INS).  When a new data file (.INS) is retrieved, InstaCalc will check
  5500.         for  a  corresponding  application to  run.    For  example, when  you
  5501.         retrieve INVOICE.INS,  then  InstaCalc  will  look  for  and  run  the
  5502.         application INVOICE.MAC (if it exists).
  5503.  
  5504.         If an error is encountered when running  an application, then an error
  5505.  
  5506.  
  5507.                                           85
  5508.  
  5509.  
  5510.         message will  first be  displayed.   Then,  when you  press  a key  to
  5511.         continue, InstaCalc  will load  the application  into the  editor, and
  5512.         place you on the line where the error occurred to allow you to fix the
  5513.         problem.  
  5514.  
  5515.  
  5516.  
  5517.         LANGUAGE DESCRIPTION
  5518.         --------------------
  5519.         An InstaCalc program is one or more lines of text residing in an ASCII
  5520.         file.  There are  four different types of lines  which you can put  in
  5521.         your application; comments, labels, macros,  and commands.  The  first
  5522.         character of each  line of text determines  what type of command  that
  5523.         line is.  Each line of your application program will begin with one of
  5524.         four  different characters,  a pound  sign (#),  an apostrophe  ('), a
  5525.         colon (:), or an exclamation mark (!).
  5526.  
  5527.         Comments
  5528.         --------
  5529.         A line which begins with an  exclamation mark (!) is simply a comment.
  5530.         All of  the  characters on  the  line after  the  ! are  ignored  when
  5531.         InstaCalc  runs the application program.  The sole purpose of comments
  5532.         is to make your programs easier to understand when you read them.
  5533.  
  5534.         Example:
  5535.  
  5536.         !This is a comment
  5537.  
  5538.         This  line is ignored when  InstaCalc encounters it  in an application
  5539.         program.
  5540.  
  5541.  
  5542.         Labels
  5543.         ------
  5544.         A line which begins with a colon (:)  is a label.  A label is simply a
  5545.         string which marks a specific position in the application program.
  5546.  
  5547.         Example:
  5548.  
  5549.         :MyLabel
  5550.  
  5551.         This  line does  nothing  when  it  is  encountered  in  an  InstaCalc
  5552.         application  program.  Some InstaCalc ICE commands (such as #GOTO) use
  5553.         labels as a place to jump to for further processing.
  5554.  
  5555.  
  5556.         Macros
  5557.         ------
  5558.         A line which  begins with an  apostrophe (') is  a sequence of  direct
  5559.         keystrokes  (keystroke macro)  which  you want  InstaCalc to  execute.
  5560.         Keystrokes  which are  printable ASCII  characters  (letters, numbers,
  5561.         symbols,  etc.)  are displayed  in their  printable form.   Keystrokes
  5562.         which  are NOT printable ASCII characters (such as function keys, Ctrl
  5563.         and  Alt key sequences, cursor  movement keys, etc.)  are displayed as
  5564.         the name  of the key enclosed in angle brackets  <>.  For example, the
  5565.         <Enter> key is displayed as <Enter>.
  5566.  
  5567.  
  5568.  
  5569.                                           86
  5570.  
  5571.  
  5572.         Example:
  5573.  
  5574.         '/cfcn2<Enter>
  5575.  
  5576.         This line causes  the current cell to be formatted  as currency with 2
  5577.         decimal  places and  no  commas.    This  is  done  because  InstaCalc
  5578.         processes each  keystroke in  the  line just  as if  you  typed it  in
  5579.         yourself.
  5580.         - The / key is processed, which summons the main menu
  5581.         - The C key is processed, which selects the "Cell" option
  5582.         - The F key is processed, which selects the "Format" option
  5583.         - The C key is processed, which selects the "Currency" option
  5584.         - The N key is processed, which selects the "NoComma" option
  5585.         -  The number  "2" is  processed, which  types 2 in  as the  number of
  5586.         decimal places
  5587.         - The  <Enter> causes the <Enter> key to be  processed (this is one of
  5588.         the special keys), which enters the  number 2 as the number of decimal
  5589.         places.
  5590.  
  5591.         Keystroke macros  can even  be  read from  cells.   Simply follow  the
  5592.         apostrophe  with the  cell  name enclosed  in  square brackets.    For
  5593.         example, if  you want the keystrokes  to be read from  cell B5, simply
  5594.         use the line:
  5595.  
  5596.         '[B5]
  5597.  
  5598.  
  5599.         Commands
  5600.         --------
  5601.         A line  which begins with  a pound  sign (#) is  an InstaCalc  Command
  5602.         Environment (ICE) command.   It  is these commands  which provide  the
  5603.         muscle for sophisticated application  development.  These commands are
  5604.         described in the next section.
  5605.  
  5606.  
  5607.  
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.  
  5617.  
  5618.  
  5619.  
  5620.  
  5621.  
  5622.  
  5623.  
  5624.  
  5625.  
  5626.  
  5627.  
  5628.  
  5629.  
  5630.  
  5631.                                           87
  5632.  
  5633.  
  5634.         SPECIAL KEY NAMES
  5635.         -----------------
  5636.         Although  the  letter,  number,  and  symbol  keys   can  be  directly
  5637.         referenced by  their character,  several  keys cannot  be referred  to
  5638.         using a single character.  InstaCalc  gives each of these keys its own
  5639.         name.   When one  of these  keystrokes is  encountered in a  keystroke
  5640.         macro, the name of the key is  surrounded by angle brackets <> so that
  5641.         InstaCalc  can  tell  it apart  from  regular  characters.   When  the
  5642.         keystroke is used as the  name of an application file, then  the angle
  5643.         brackets  (and certain other characters) are not used because DOS will
  5644.         not allow them.   Below is a list of special  keystrokes, and the name
  5645.         of the keystrokes when used both in a macro and as a file name.
  5646.  
  5647.         KEY SEQUENCE        KEYSTROKE NAME      FILE NAME
  5648.         <BkSp>              <BkSp>              N/A
  5649.         <Ctrl><BkSp>        <^BkSp>             N/A
  5650.         <Esc>               <Esc>               N/A
  5651.         <Enter>             <Enter>             N/A
  5652.         <Tab>               <Tab>               N/A
  5653.         <Ctrl>A-
  5654.              <Ctrl>Z *      <CtrlA> - <CtrlZ>   CTRLA.MAC-CTRLZ.MAC
  5655.         <Alt>A-
  5656.              <Alt>Z         <AltA> - <AltZ>     ALTA.MAC-ALTZ.MAC
  5657.         <Home>              <Home>              N/A
  5658.         <End>               <End>               N/A
  5659.         <Left>              <Left>              N/A
  5660.         <Right>             <Right>             N/A
  5661.         <Up>                <Up>                N/A
  5662.         <Down>              <Down>              N/A
  5663.         <PgUp>              <PgUp>              N/A
  5664.         <PgDn>              <PgDn>              N/A
  5665.         <Ins>               <Ins>               N/A
  5666.         <Del>               <Del>               N/A
  5667.         <F1> - <F10>        <F1>-<F10>          N/A
  5668.         <Shift><F1>-
  5669.              <Shift><F10>   <ShF1>-<ShF10>      SHF1.MAC-SHF10.MAC
  5670.         <Ctrl><F1>-
  5671.              <Ctrl><F10>    <^F1>-<^F10>        N/A
  5672.         <Alt><F1>-
  5673.              <Alt><F10>     <AltF1>-<AltF10>    ALTF1-ALTF10.MAC
  5674.         <Ctrl><Left>        <^Left>             N/A
  5675.         <Ctrl><Right>       <^Right>            N/A
  5676.         <Ctrl><Home>        <^Home>             N/A
  5677.         <Ctrl><End>         <^End>              N/A
  5678.         <Ctrl><PgUp>        <^PgUp>             N/A
  5679.         <Ctrl><PgDn>        <^PgDn>             N/A
  5680.  
  5681.         * <Ctrl>H, <Ctrl>I, and <Ctrl>M are not available as file names.
  5682.  
  5683.  
  5684.  
  5685.  
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.  
  5692.  
  5693.                                           88
  5694.  
  5695.  
  5696.         THE INSTACALC COMMAND ENVIRONMENT
  5697.         ---------------------------------
  5698.         The  InstaCalc Command Environment (ICE) is a set of powerful commands
  5699.         which you can use in your application programs to create menus, pop up
  5700.         windows, access files, and even run other programs.
  5701.  
  5702.         Each  ICE command is a single word  prefixed with the # character (for
  5703.         example  #OUTPUT).   Most  of these  ICE  commands require  additional
  5704.         information  on the same line.  These additional pieces of information
  5705.         are known as arguments.  If you have more than one argument on a line,
  5706.         you must separate them from each other with either a space or a comma.
  5707.         Also, if any of your  arguments are text strings which have a space or
  5708.         comma in it,  then you must  surround the text  string with quotes  so
  5709.         that InstaCalc knows to keep the text together.
  5710.  
  5711.  
  5712.  
  5713.         ---------------------------------------------------------------------
  5714.         #ASSIGN                                                           Data
  5715.         ---------------------------------------------------------------------
  5716.         Syntax    #ASSIGN cellname value
  5717.  
  5718.         Remarks   This command allows you to assign  a value to a cell without
  5719.                   having to move to it  first.  cellname can be either  a cell
  5720.                   address  or a named range.  value  can be either a number or
  5721.                   text.
  5722.  
  5723.         Example   #ASSIGN B5 123.45
  5724.  
  5725.         ---------------------------------------------------------------------
  5726.         #BLOCK                                                    Input/Output
  5727.         ---------------------------------------------------------------------
  5728.         Syntax    #BLOCK cellname prompt
  5729.  
  5730.         Remarks   This  command displays prompt and allows  you to highlight a
  5731.                   range of  cells.  The  range selected  is stored  as a  text
  5732.                   string in  cellname.   This  cell  can then  be  used as  an
  5733.                   indirect address in range  functions by entering cellname in
  5734.                   square brackets when asked to define a range.
  5735.  
  5736.         Example   #BLOCK D3 "Fill which range with zeros?"
  5737.  
  5738.  
  5739.         ---------------------------------------------------------------------
  5740.         #BOX                                                      Input/Output
  5741.         ---------------------------------------------------------------------
  5742.         Syntax    #BOX x1,y1,x2,y2 save title
  5743.  
  5744.         Remarks   This command displays a box  on the screen.  The  upper left
  5745.                   corner of the box  is located at screen position x1, y1, and
  5746.                   the lower right corner of the box is located at position x2,
  5747.                   y2.  save determines whether InstaCalc saves the contents of
  5748.                   the screen under the  box before displaying it.   If save=0,
  5749.                   then the screen contents are not saved.  If save=1, then the
  5750.                   screen contents  are saved,  and can  be restored using  the
  5751.                   #CLEARBOX  command.   Saving  the  screen contents  requires
  5752.                   extra  memory,  so  if  it isn't  necessary  to  restore the
  5753.  
  5754.  
  5755.                                           89
  5756.  
  5757.  
  5758.                   contents, it is best to set save to 0.  The #RESTORE command
  5759.                   will restore the  InstaCalc screen even if  it wasn't saved,
  5760.                   so you can use #BOX with save=0 to clear the screen to begin
  5761.                   your application.
  5762.  
  5763.         Example   #BOX 1,1,80,25 0 "Main Screen"
  5764.  
  5765.  
  5766.  
  5767.  
  5768.         ---------------------------------------------------------------------
  5769.         #BREAK                                                         Control
  5770.         ---------------------------------------------------------------------
  5771.         Syntax    #BREAK 0/1
  5772.  
  5773.         Remarks   This  command allows you to enable or disable the ability to
  5774.                   break out of an  application program while it is  running by
  5775.                   pressing <Ctrl><F3>.   By default, an  application will exit
  5776.                   when  <Ctrl><F3>  is pressed.    This  command provides  the
  5777.                   capability  to prevent  a  user from  breaking  out of  your
  5778.                   application.   It  is best  to leave  breaking enabled  when
  5779.                   creating your application.
  5780.  
  5781.  
  5782.  
  5783.         ---------------------------------------------------------------------
  5784.         #CALL                                                          Control
  5785.         ---------------------------------------------------------------------
  5786.         Syntax    #CALL label / #RETURN
  5787.  
  5788.         Remarks   This command causes execution of the program to continue  at
  5789.                   label.    When the  #RETURN  statement  is encountered,  the
  5790.                   program branches back to  the line immediately following the
  5791.                   original #CALL command.
  5792.  
  5793.  
  5794.         ---------------------------------------------------------------------
  5795.         #CLEARBOX                                                 Input/Output
  5796.         ---------------------------------------------------------------------
  5797.         Syntax    #CLEARBOX
  5798.  
  5799.         Remarks   This  command clears the last  box placed on  the screen (by
  5800.                   #BOX or #WINDOW) and  replaces the data which was  under it.
  5801.                   This command only has an effect  if #BOX or #WINDOW set  the
  5802.                   save option to 1 (meaning to save the screen contents).
  5803.  
  5804.  
  5805.  
  5806.         ---------------------------------------------------------------------
  5807.         #DEC                                                              Data
  5808.         ---------------------------------------------------------------------
  5809.         Syntax    #DEC cellname x
  5810.  
  5811.         Remarks   This command  decrements (reduces) the value  in cellname by
  5812.                   x.  If you don't supply x, then a value of 1 is assumed.
  5813.  
  5814.  
  5815.  
  5816.  
  5817.                                           90
  5818.  
  5819.  
  5820.         ---------------------------------------------------------------------
  5821.         #DELAY                                                    Input/Output
  5822.         ---------------------------------------------------------------------
  5823.         Syntax    #DELAY milliseconds
  5824.  
  5825.         Remarks   This  command   allows  you  to  insert   delays  into  your
  5826.                   application programs.
  5827.  
  5828.         Example   #DELAY 1000
  5829.  
  5830.  
  5831.         ---------------------------------------------------------------------
  5832.         #DELETE                                                           File
  5833.         ---------------------------------------------------------------------
  5834.         Syntax    #DELETE filename
  5835.  
  5836.         Remarks   This  command will  delete  filename from  the  disk (if  it
  5837.                   exists).
  5838.  
  5839.  
  5840.  
  5841.         ---------------------------------------------------------------------
  5842.         #DOS                                                          External
  5843.         ---------------------------------------------------------------------
  5844.         Syntax    #DOS command
  5845.  
  5846.         Remarks   This command  allows you to perform  a DOS command  or run a
  5847.                   program just  as if  you had  typed the  command at the  DOS
  5848.                   prompt.   There must be  enough memory available  to run the
  5849.                   program or the command will be ignored.
  5850.  
  5851.         Example   #DOS "dir *.INS"
  5852.  
  5853.  
  5854.         ---------------------------------------------------------------------
  5855.         #EDIT                                                     Input/Output
  5856.         ---------------------------------------------------------------------
  5857.         Syntax    #EDIT x,y cellname len prompt
  5858.  
  5859.         Remarks   This command displays prompt at position x,y on the  screen,
  5860.                   followed  by the contents of cellname.  You are then allowed
  5861.                   to edit the contents of cellname.  len is the maximum number
  5862.                   of characters which is  displayed and which you  are allowed
  5863.                   to enter or edit.
  5864.  
  5865.         Example   #EDIT 40,4 a1 6 "Invoice #"
  5866.  
  5867.         ---------------------------------------------------------------------
  5868.         #EDITERR                                                     Debugging
  5869.         ---------------------------------------------------------------------
  5870.         Syntax    #EDITERR 0/1
  5871.  
  5872.         Remarks   When  InstaCalc encounters  an error  in an  application, it
  5873.                   displays  an error message, then  calls up the  macro in the
  5874.                   macro editor.   The cursor is placed  on the line  where the
  5875.                   error occurred so that you can fix the problem.
  5876.  
  5877.  
  5878.  
  5879.                                           91
  5880.  
  5881.  
  5882.                   There may be times when you do not want InstaCalc to call up
  5883.                   the application for editing.  #EDITERR allows you to disable
  5884.                   this feature.
  5885.  
  5886.         Example   #EDITERR 0
  5887.  
  5888.  
  5889.  
  5890.         ---------------------------------------------------------------------
  5891.         #EXIT                                                          Control
  5892.         ---------------------------------------------------------------------
  5893.         Syntax    #EXIT
  5894.  
  5895.         Remarks   This command terminates the current application program.  If
  5896.                   the current program was called  by another program using the
  5897.                   #RUN  command,  then  control  is returned  to  the  calling
  5898.                   program.
  5899.  
  5900.  
  5901.         ---------------------------------------------------------------------
  5902.         #FOR / #NEXT                                                   Control
  5903.         ---------------------------------------------------------------------
  5904.         Syntax    #FOR cellname start end step
  5905.                     {some commands}
  5906.                   #NEXT 
  5907.  
  5908.         Remarks   This  command  creates a  loop which  can  perform a  set of
  5909.                   commands  a certain number of times.   The value of start is
  5910.                   placed in  cellname.  and as  long as the value  of cellname
  5911.                   does  not exceed  the  value of  end,  the set  of  commands
  5912.                   between the #FOR and  #NEXT command will be executed.   Each
  5913.                   time the  #NEXT command branches  back to the  #FOR command,
  5914.                   the  value  in cellname  will  be  incremented by  step  and
  5915.                   compared with end.
  5916.  
  5917.  
  5918.  
  5919.  
  5920.         ---------------------------------------------------------------------
  5921.         #GOTO                                                          Control
  5922.         ---------------------------------------------------------------------
  5923.         Syntax    #GOTO label
  5924.  
  5925.         Remarks   This command causes the program to continue execution at the
  5926.                   given label.   The label may  be either before or  after the
  5927.                   #GOTO, but it must be in the same program file.
  5928.  
  5929.         Example   #GOTO MyLabel
  5930.                   #OUTPUT 10,10 "Don't print this"
  5931.  
  5932.                   :MyLabel
  5933.                   #OUTPUT 10,10 "Print this instead"
  5934.  
  5935.  
  5936.  
  5937.  
  5938.  
  5939.  
  5940.  
  5941.                                           92
  5942.  
  5943.  
  5944.         ---------------------------------------------------------------------
  5945.         #IF / #ELSE / #ENDIF                                           Control
  5946.         ---------------------------------------------------------------------
  5947.         Syntax    #IF boolean formula
  5948.                     {some commands}
  5949.                   #ELSE
  5950.                     {some commands}
  5951.                   #ENDIF
  5952.  
  5953.         Remarks   This  command evaluates boolean formula,  and if it is true,
  5954.                   continues  executing  commands  until  #ELSE  or  #ENDIF  is
  5955.                   reached.   All commands between the #ELSE and #ENDIF will be
  5956.                   ignored.
  5957.  
  5958.                   If boolean formula is false,  then the program branches from
  5959.                   the #IF  to the #ELSE command (if there is one) and executes
  5960.                   the commands between #ELSE and #ENDIF.
  5961.  
  5962.  
  5963.  
  5964.  
  5965.         ---------------------------------------------------------------------
  5966.         #INC                                                              Data
  5967.         ---------------------------------------------------------------------
  5968.         Syntax    #INC cellname x
  5969.  
  5970.         Remarks   This command increments (increases) the value of cellname by
  5971.                   x.  If you do not specify x, then a value of 1 is assumed.
  5972.  
  5973.  
  5974.  
  5975.         ---------------------------------------------------------------------
  5976.         #INPUT                                                    Input/Output
  5977.         ---------------------------------------------------------------------
  5978.         Syntax    #INPUT x,y cellname len prompt
  5979.  
  5980.         Remarks   This command displays  prompt at position x,y on the screen.
  5981.                   You  are then  allowed  to enter  some  text which  will  be
  5982.                   entered  into  cellname.    len  is  the maximum  number  of
  5983.                   characters which you are allowed to enter.
  5984.  
  5985.         Example   #INPUT 40,4 a1 6 "Enter the sales for May "
  5986.  
  5987.  
  5988.         ---------------------------------------------------------------------
  5989.         #KEY                                                      Input/Output
  5990.         ---------------------------------------------------------------------
  5991.         Syntax    #KEY x,y cellname prompt maskchars
  5992.  
  5993.         Remarks   This command  displays prompt at position x,y, and waits for
  5994.                   you to press  a key.   The #KEY  command will  automatically
  5995.                   place  the keystroke  pressed into  cellname.   The returned
  5996.                   keystroke  will  be a  letter, number,  or  symbol if  it is
  5997.                   regular  ASCII.  If  it is a  special key like  a control or
  5998.                   alternate sequence, cursor  key, or function key, it will be
  5999.                   in angle brackets like this:  <Enter>, <PgUp>, <F1> or <^S>.
  6000.  
  6001.  
  6002.  
  6003.                                           93
  6004.  
  6005.  
  6006.                   maskchars is an  optional argument which allows you to force
  6007.                   #KEY  to  accept only  certain  characters.   If  you  leave
  6008.                   maskchars  blank, then #KEY will accept any key pressed.  If
  6009.                   maskchars is a character (or list of characters), then  #KEY
  6010.                   will  only accept  those  characters (upper  and lower  case
  6011.                   letters are treated as the same character).
  6012.  
  6013.         Example   #KEY 10,10 a1 "Continue?:" y n
  6014.  
  6015.  
  6016.         ---------------------------------------------------------------------
  6017.         #LOCATE                                                           Data
  6018.         ---------------------------------------------------------------------
  6019.         Syntax    #LOCATE column row
  6020.  
  6021.         Remarks   This  command allows you to move the cell pointer by several
  6022.                   rows and columns at a time.  column is the number of columns
  6023.                   you want to move to the right, and row is the number of rows
  6024.                   you want  to move  down.   You may set  row or  column to  a
  6025.                   negative value to move in the opposite direction, or to 0 if
  6026.                   you don't want to move either direction.
  6027.  
  6028.  
  6029.  
  6030.         ---------------------------------------------------------------------
  6031.         #MENU                                                     Input/Output
  6032.         ---------------------------------------------------------------------
  6033.         Syntax    #MENU x,y cellname helpline title
  6034.                   #HMENU x,y cellname helpline title
  6035.  
  6036.         Remarks   These commands (along with  the #MENUITEM command) allow you
  6037.                   to create and display customized menus from your application
  6038.                   programs (#MENU generates a vertical menu, #HMENU  generates
  6039.                   a horizontal menu).   The menu will be placed  on the screen
  6040.                   at position x,y, and title will  be placed at the top of the
  6041.                   menu.   Each item to be displayed in the menu are defined by
  6042.                   #MENUITEM  commands following the #MENU   command.  The help
  6043.                   line for  each item  will be  placed on the  screen on  line
  6044.                   number helpline.   When the  user selects an  item from  the
  6045.                   menu, InstaCalc  will enter  the item number  into cellname.
  6046.                   For example, if the user selects the 3rd item from the menu,
  6047.                   InstaCalc will enter the value 3 into cellname.  If the user
  6048.                   escapes from the menu  by pressing the <Esc>  key, InstaCalc
  6049.                   will enter the value 0 into cellname.
  6050.  
  6051.         Example   #MENU 20,10 A1 1 "My Menu"
  6052.                     #MENUITEM "Add" "Add a record"
  6053.                     #MENUITEM "Delete" "Delete a record"
  6054.                     #MENUITEM "Quit" "Exit from menu"
  6055.  
  6056.  
  6057.  
  6058.         ---------------------------------------------------------------------
  6059.         #MENUITEM                                                 Input/Output
  6060.         ---------------------------------------------------------------------
  6061.         Syntax    #MENUITEM item help
  6062.  
  6063.  
  6064.  
  6065.                                           94
  6066.  
  6067.  
  6068.         Remarks   This  command defines one of the items  in a menu.  item and
  6069.                   help are both  text strings  enclosed in quotes.   item  and
  6070.                   help can also be cell  references or text formulas  enclosed
  6071.                   in square  brackets to  allow  you to  build menu  selection
  6072.                   items on the fly.
  6073.  
  6074.  
  6075.         ---------------------------------------------------------------------
  6076.         #OUTPUT                                                   Input/Output
  6077.         ---------------------------------------------------------------------
  6078.         Syntax    #OUTPUT x,y line
  6079.  
  6080.         Remarks   This command  allows your application program  to write text
  6081.                   to the  screen.  #OUTPUT  will display line at  column x and
  6082.                   row y on the screen.  x must  be in the range 1 to 80, and y
  6083.                   must be in the range 1 to 25.
  6084.  
  6085.         Example   #OUTPUT 40,4 "Hi there" 
  6086.  
  6087.  
  6088.         ---------------------------------------------------------------------
  6089.         #PASSWORD                                                 Input/Output
  6090.         ---------------------------------------------------------------------
  6091.         Syntax    #PASSWORD x,y cellname len prompt
  6092.  
  6093.         Remarks   This  command is  exactly  the same  as the  #INPUT command,
  6094.                   except that keystrokes which you enter are not displayed.
  6095.  
  6096.         Example   #PASSWORD 40,4 a1 6 "Enter the magic word "
  6097.  
  6098.         ---------------------------------------------------------------------
  6099.         #PRINT / #PRINTLN                                         Input/Output
  6100.         ---------------------------------------------------------------------
  6101.         Syntax    #PRINT line
  6102.                   #PRINTLN line
  6103.  
  6104.         Remarks   These two commands allow  your program to send line  to your
  6105.                   printer.    The  only  difference  between  the  #PRINT  and
  6106.                   #PRINTLN commands is that the #PRINTLN command sends a CR/LF
  6107.                   command to the printer after it has sent line.
  6108.  
  6109.                   If you want  to print numbers,  they must be converted  to a
  6110.                   string  first.  The best way to  do this is with the @FORMAT
  6111.                   function,  which allows you to  format the number  in any of
  6112.                   InstaCalc's formats.
  6113.  
  6114.         Example   #PRINT "Hi there"
  6115.  
  6116.         ---------------------------------------------------------------------
  6117.         #REPEAT / #UNTIL                                               Control
  6118.         ---------------------------------------------------------------------
  6119.         Syntax    #REPEAT
  6120.                     {some commands}
  6121.                   #UNTIL boolean formula
  6122.  
  6123.         Remarks   This  command repeats a command  or set of  commands until a
  6124.                   condition  becomes  true.   InstaCalc executes  the commands
  6125.  
  6126.  
  6127.                                           95
  6128.  
  6129.  
  6130.                   after  the  #REPEAT until  the  #UNTIL  command is  reached.
  6131.                   InstaCalc then  evaluates boolean formula, and branches back
  6132.                   to the #REPEAT command if it is false.   boolean formula may
  6133.                   be any legal InstaCalc formula which returns a TRUE or FALSE
  6134.                   value.
  6135.  
  6136.  
  6137.  
  6138.  
  6139.         ---------------------------------------------------------------------
  6140.         #RESTORE                                                  Input/Output
  6141.         ---------------------------------------------------------------------
  6142.         Syntax    #RESTORE
  6143.  
  6144.         Remarks   This  command erases  all boxes  and restores  the InstaCalc
  6145.                   screen.    This command  should be  used by  all application
  6146.                   programs before exiting.
  6147.  
  6148.  
  6149.  
  6150.  
  6151.         ---------------------------------------------------------------------
  6152.         #RUN                                                          External
  6153.         ---------------------------------------------------------------------
  6154.         Syntax    #RUN application
  6155.  
  6156.         Remarks   This command  allows you to start  running another InstaCalc
  6157.                   application file  (.MAC) as  a subroutine.   The other  .MAC
  6158.                   file  will be  loaded into  memory and  executed.   When the
  6159.                   other .MAC file is finished running, it will be removed from
  6160.                   memory, and  control will  return to the  program containing
  6161.                   the #RUN command.
  6162.  
  6163.         Example   #RUN myprog
  6164.  
  6165.  
  6166.         ---------------------------------------------------------------------
  6167.         #SETCOLOR                                                 Input/Output
  6168.         ---------------------------------------------------------------------
  6169.         Syntax    #SETCOLOR item background foreground
  6170.  
  6171.         Remarks   This command allows you to set and change the various colors
  6172.                   which other I/O  commands use  when writing  to the  screen.
  6173.                   item  is a value corresponding to a different item which can
  6174.                   be displayed:
  6175.  
  6176.                   item DISPLAY
  6177.                   1    Frame around the menu
  6178.                   2    Title of the menu
  6179.                   3    Main body of the menu
  6180.                   4    Moving bar of the menu
  6181.                   5    Highlighted select character in the menu
  6182.                   6    Help line for the menu
  6183.                   7    Prompt for #EDIT, #INPUT, #KEY
  6184.                   8    Editing/output field
  6185.                   9    Frame around the window
  6186.                   10   The title of the window
  6187.  
  6188.  
  6189.                                           96
  6190.  
  6191.  
  6192.                   11   The body of the window
  6193.  
  6194.                   background  and foreground are  values corresponding  to the
  6195.                   background and foreground colors to use:
  6196.  
  6197.                   0=Black             8=Dark Gray
  6198.                   1=Blue              9=Light Blue
  6199.                   2=Green             10=Light Green
  6200.                   3=Cyan              11=Light Cyan
  6201.                   4=Red               12=Light Red
  6202.                   5=Magenta           13=Light Magenta
  6203.                   6=Brown             14=Yellow
  6204.                   7=Light Gray        15=White
  6205.  
  6206.         Example   #SETCOLOR 4 1 15
  6207.  
  6208.  
  6209.  
  6210.         ---------------------------------------------------------------------
  6211.         #STEP                                                        Debugging
  6212.         ---------------------------------------------------------------------
  6213.         Syntax    #STEP 0/1
  6214.  
  6215.         Remarks   This single  command allows  you to  single step  through an
  6216.                   application,  set conditional  breakpoints, and  inspect and
  6217.                   edit cells while your application is running.
  6218.  
  6219.                   When the command #STEP 1 is encountered in a program, single
  6220.                   stepping is enabled.  When you  are in single step mode, the
  6221.                   bottom  line of the  screen will  display the  prompt "SS:",
  6222.                   along  with the next line of the application to be executed.
  6223.                   You must  press a key  (the space bar  is good for  this) to
  6224.                   execute each line of the program.
  6225.  
  6226.                   When the command #STEP 0 is encountered in a program, single
  6227.                   stepping  is  disabled and  execution  of  the program  will
  6228.                   continue normally.
  6229.  
  6230.  
  6231.         ---------------------------------------------------------------------
  6232.         #UPDATE                                                   Input/Output
  6233.         ---------------------------------------------------------------------
  6234.         Syntax    #UPDATE 0/1
  6235.  
  6236.         Remarks   This command  toggles InstaCalc screen updating  on and off.
  6237.                   This  command  is  useful   to  keep  screen  updating  from
  6238.                   overwriting  boxes and  windows  which your  application has
  6239.                   placed on screen.  #UPDATE  0 disables screen updating,  and
  6240.                   #UPDATE 1 enables screen  updating.  #UPDATE can be  used at
  6241.                   any point in the application to turn updating on or off.
  6242.  
  6243.  
  6244.  
  6245.         ----------------------------------------------------------------------
  6246.         #WAIT                                                     Input/Output
  6247.         ----------------------------------------------------------------------
  6248.         Syntax    #WAIT x,y prompt
  6249.  
  6250.  
  6251.                                           97
  6252.  
  6253.  
  6254.         Remarks   This  command displays  prompt at  screen position  x,y, and
  6255.                   then waits for you to press  a key.  This command is similar
  6256.                   to  the #KEY command, except that the keystroke is not saved
  6257.                   for processing.
  6258.  
  6259.  
  6260.  
  6261.  
  6262.         ---------------------------------------------------------------------
  6263.         #WHILE / #ENDWHILE                                             Control
  6264.         ---------------------------------------------------------------------
  6265.         Syntax    #WHILE boolean formula
  6266.                     {some commands}
  6267.                   #ENDWHILE 
  6268.  
  6269.         Remarks   This command  repeat a command or set of commands as long as
  6270.                   boolean formula is TRUE.   If boolean formula is  FALSE when
  6271.                   the  #WHILE  is first  reached,  the  commands  will not  be
  6272.                   executed at all.
  6273.  
  6274.                   The #ENDWHILE command will cause execution to branch back to
  6275.                   #WHILE so that boolean formula may be tested again.
  6276.  
  6277.  
  6278.  
  6279.         ---------------------------------------------------------------------
  6280.         #WINDOW                                                   Input/Output
  6281.         ---------------------------------------------------------------------
  6282.         Syntax    #WINDOW x1,y1 save title
  6283.  
  6284.         Remarks   This command is a special version of the #BOX command.  This
  6285.                   command,  along with  the  #WINTEXT command,  allows you  to
  6286.                   easily create  text windows without having  to calculate how
  6287.                   wide  and tall the box should be, or what screen coordinates
  6288.                   to use to display text in  the box.  This command displays a
  6289.                   box on  the screen.   The upper  left corner of  the box  is
  6290.                   located at screen  position x1,y1, and  the position of  the
  6291.                   lower right  corner of  the box  is calculated  by InstaCalc
  6292.                   based  on the number  and length  of the  following #WINTEXT
  6293.                   commands.    save  determines  whether  InstaCalc  saves the
  6294.                   contents of the screen  under the box before displaying  it.
  6295.                   If  save equals 0, then  the screen contents  are not saved.
  6296.                   If  save equals 1, then  the screen contents  are saved, and
  6297.                   can be restored using the #CLEARBOX command.
  6298.  
  6299.         Example   #WINDOW 10,5 1 "My Window"
  6300.                   #WINTEXT "Here is some text"
  6301.                   #WINTEXT "Some more text"
  6302.  
  6303.         ---------------------------------------------------------------------
  6304.         #WINTEXT                                                  Input/Output
  6305.         ---------------------------------------------------------------------
  6306.         Syntax    #WINTEXT line
  6307.  
  6308.         Remarks   This command displays line  in the currently defined window.
  6309.                   #WINDOW will automatically adjust the  size of the window to
  6310.                   hold the width of line.
  6311.  
  6312.  
  6313.                                           98